如何使用 Excel VBA 宏设置名称框?

如何使用 Excel VBA 宏设置名称框?

我正在构建一个模型,该模型从第一张工作表中获取结果并将其输入到下一张工作表中。有效地创建一个连续运行的应用程序。我已通过名称框定义了第一张工作表中的值,以便我可以轻松调用这些值并在公式中使用它们。

下一步是创建第二个工作表,以便我需要在公式中使用的单元格可以命名为(在名称框中)与工作表 1 中相同的名称,但添加了一些后缀(例如 1 或 A)。

这样,工作表 1 中将包含名称为 SA、Vol、Q 等的单元格,而工作表 2 中将包含名称为 SA1、Vol1、Q1 等的单元格。

参数名称存在于相邻单元格中。例如,我想使用 B 列中相邻的值/单词来命名 C 列中的单元格。

以下是我目前所掌握的信息:

Sub CreatName()
  Dim cel As Range
  Dim moretext As Variant

  moretext = InputBox("Enter text to add at end of name box: ")

  For Each cel In Worksheets("Model").Range("C:C").Cells
    If Not IsEmpty(cel.Value) Then
      cel.Name = cel.Offset(0, -1).Value & moretext
      MsgBox (cel.Name.Value)
    End If
  Next cel
End Sub

我似乎无法让它工作。cel.name 会输出单元格位置(例如="Model"$C$25),但我无法将后缀添加到名称上。

答案1

要获取该值,请使用如下方法:

MsgBox (cel.Name.RefersToRange.Value)

要添加名称,请执行以下操作:

cName = cel.Offset(0, -1).Value & moretext

ActiveWorkbook.Names.Add Name:=cName, RefersToR1C1:=cell

相关内容