有没有办法在另一个单元格中显示特定单元格的单元格名称?我想在相邻的单元格中显示单元格名称,以便用户能够识别单元格名称而无需单击它。
...谢谢
答案 0 :(得分:9)
ADDRESS(ROW(),COLUMN())
会为您提供地址,例如$ 1美元的当前单元格。从行/列值(数字)中加/减以引用您所在的单元格。
如果你不想要$那么你可以找到并用SUBSTITUTE(ADDRESS(ROW(),COLUMN()),"$","")
替换它,例如只获得A1
答案 1 :(得分:8)
此函数将给出单元格所属的NamedRange的名称:
Public Function CellName(oCell As Range) As Variant
Dim oName As Name
For Each oName In ThisWorkbook.Names
If oName.RefersToRange.Parent Is oCell.Parent Then
If Not Intersect(oCell, oName.RefersToRange) Is Nothing Then
CellName = oName.Name
Exit Function
End If
End If
Next
CellName = CVErr(xlErrNA)
End Function
它循环遍历工作簿中的所有名称,然后为每个名称检查它是否引用了此输入参数中的任何内容。如果是,则检查输入单元格和名称引用的范围是否相交。如果他们这样做,则返回范围的名称。
答案 2 :(得分:6)
在Excel 2013中,也可能在某些旧版本中, ADDRESS()接受第三个参数,该参数定义要返回的地址格式,并带有以下值:
1 - 绝对(默认)
2 - 绝对行/相对列
3 - 相对行/绝对列
4 - 相对
所以我们在单元格A1中说。
function custom_walker_nav_menu_start_el($item_output, $item, $depth, $args){
$output = '<div class="buttons-'.$item->ID.'" title="some_title">';
$output .= $item_output;
$output .= '</div>';
return $output;
}
add_filter( 'walker_nav_menu_start_el', 'custom_walker_nav_menu_start_el' , 10, 4 );
$menu_middle_left = array(
'theme_location' => 'middle-left',
'menu' => '',
'container' => '',
'container_class' => '',
'container_id' => '',
'menu_class' => '',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'link_before' => '',
'link_after' => '',
'walker' => new Walker_Nav_Menu()
);
wp_nav_menu($menu_middle_left);
如果要在单元格A1类型中显示单元格D3的名称:
ADDRESS(ROW();COLUMN()) //outputs $A$1
ADDRESS(ROW();COLUMN();1) //outputs $A$1
ADDRESS(ROW();COLUMN();2) //outputs A$1
ADDRESS(ROW();COLUMN();3) //outputs $A1
ADDRESS(ROW();COLUMN();4) //outputs A1
答案 3 :(得分:1)
我从Adarsha的上述答案中得到了一些“建议”。我得到了与下面代码类似的结果,包含该循环和一些改进。然而,我的'excel'宏的提示是让你的调试器成为你最好的朋友。
'
Functionname_of(clls)
'
name_of = ""
'
Dim nam As String
Dim rg As Range
Set rg = clls
'
nam = rg.Name.Name
'
name_of = nam
'
End Function 'name_of
'
一点耐心和毅力,给了我我正在寻找的东西 - 用户定义的函数给我一个单元格的定义名称。如果同一个Cell有多个名称,会发生什么?试试看,看看。这是一个简单的测试,所以我想留给你实验,学习和传授你的新知识。
享受,...... W
答案 4 :(得分:1)
ActiveWorkbook.Sheets.Item(1).Cells(row,col).Name.Name
答案 5 :(得分:0)
这似乎不太可能,这很奇怪。您认为cell()
函数应该提供获取名称的方法,但事实并非如此。长号。
答案 6 :(得分:0)
这将在非常基本的情况下工作:
Public Function CellName(cel As Range) As Variant
Dim nm As Name
For Each nm In Names
If nm.RefersTo = "=" & cel.Parent.Name & "!" & cel.Address Then
CellName = nm.Name
Exit Function
End If
Next
CellName = CVErr(xlErrNA)
End Function
如果单元格是命名区域的一部分,它将不起作用,它不会显示单元格的多个名称,它不适用于命名公式中包含的单元格(如=OFFSET()
范围,对于例)。
在
"=" & cel.Parent.Name & "!" & cel.Address
事情也非常笨重。可能有更好的方法来进行检查。从RefersTo创建一个Range对象并使用Intersect()可能会有效。
答案 7 :(得分:0)
Excel确实有一个“Cell()”函数,您可以从中获取某些属性。
您可以使用= Cell(“row”,K9)并返回第9行,并且有一个等效的“col”参数,但它返回列号(11)而不是字母。
答案 8 :(得分:0)
在另一个单元格中引用指定单元格,在这种情况下为E12,然后使用以下公式:=“'”&amp; FORMULATEXT(E12)。这会将撇号放在前面,因此它会将名称或公式显示为文本。
答案 9 :(得分:0)
从技术上讲,如果您不介意在工作表中添加隐藏列,可以将SUBSTITUTE()和新的FORMULATEXT()函数组合起来执行此操作。
假设单元格A1被命名为 FOO 在B1中将简单的参考公式添加到指定的单元格 = FOO 在C1中添加公式 = SUBSTITUTE(FORMULATEXT(B2),“=”,“”) 隐藏B栏
单元格C1将包含值FOO(或未命名单元格的RC引用)
根据需要进行调整,您的里程(或公里数)可能会有所不同。
答案 10 :(得分:-1)
您可以将光标放在空单元格中,键入=然后单击指定的单元格。它将显示单元格内容。然后将单元格的格式更改为文本,它将显示=