我有一张名为" Sales"的工作表。此工作表具有A2列:A1500,带有项目名称。 A2至A1500行中的每一行都在每个项目的相邻列上具有销售信息。我有一个Web API,用于更新每行的项目销售信息以及它与新数据相邻的列(始终覆盖同一行)。
我正在尝试创建一个代码,用于根据相邻单元格的文本创建命名范围,以及是否创建新项目名称以为添加的新项目创建命名范围。
第一。我想在每行的每个Item名称中创建命名范围。意思是单元格A2文本将是" ItemName1"范围,A3文本将是" ItemName2"范围。这个函数我将需要遍历整个列A的最后一行。
第二。如果Web API在A列中创建了新的Itemname,则api设置为在A列的最后一个已知行创建新的项目名称。
这是我到目前为止所拥有的。但我想到了新项目的变量,我没有解决方案。
glGetString(GL_VERSION)
我目前正在
应用程序或对象定义错误
在Sub NamedRanges()
Dim rngCell As Range
Dim intLstRow As Integer
intLstRow = ActiveSheet.UsedRange.Rows.Count
For Each rngCell In Range("B2:B" & intLstRow)
ActiveWorkbook.Names.Add Name:=rngCell.Offset(0, -1).Value, RefersTo:=Range("Sales!$B$" & rngCell.Row)
Next
End Sub
。
我确实在ActiveWorkbook.Names.Add Name:=
上看到了我的第一个小区名称。
提前致谢。
答案 0 :(得分:2)
尝试以下方法。它使用正确的语法连接命名范围的名称,并使用不同的方法查找最后一行。使用UsedRange的方法可能会产生意外结果。我还将最后一行的名称更改为LstRow,因为您不需要在VBA中使用Hungarian表示法,也可以将其设置为Long以避免溢出。
Option Explicit
Sub NamedRanges()
Dim rngCell As Range
Dim LstRow As Long
With ActiveSheet
LstRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
For Each rngCell In Range("B2:B" & LstRow)
ActiveWorkbook.Names.Add Name:=rngCell.Offset(0, -1).Value, RefersTo:=Range("Sales!$B$" & rngCell.Row)
Next
End Sub