我正在尝试设置其他人使用的电子表格集合。我在每列的第一行放置标签,在这种情况下我认为它们是标题。我知道如何在Excel中命名列(至少2010年可以让你这样做)。
如果我的标题为“更高”和“更低”的列,并且列也有这些名称,那么给定行中的公式“=更高+更低”将使用该行中这些列的值计算结果。
我想最终得到的描述性列名与标题值相同。我想要一种方法来从列名创建标题,或从标题创建列名,所以我不必输入两次。我有很多专栏和多个电子表格来完成这项工作;我只是想保存两次输入,最初都是在更改时保持更新。
答案 0 :(得分:1)
手动:选择所需的列并转到公式功能区>从选择中创建,勾选“顶行”并点击“确定”。在第1行中更改了值时重复。
使用VBA:在工作表中使用此代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("1:1"), Target) Is Nothing Then
For Each cel In Target
Debug.Print cel.Column
Columns(cel.Column).Select
Selection.CreateNames Top:=True, Left:=False, Bottom:=False, Right:=False
cel.Select
Next cel
End If
End Sub
如果将相同的值复制并粘贴到多个单元格中,Excel将创建第一个名称,然后在要替换现有名称时提示其他单元格。
更改第1行中的单元格将创建新的范围名称。旧的范围名称仍将保留。
如果您有可以解释为单元格地址的值,例如A1
,则Excel会在范围名称中添加_符号,例如A1_
。如果在第1行中输入数字,Excel将不会创建范围名称。