将Item属性与Cells属性一起使用的语法如下:
Cells.Item(Row,Column)
您必须为Row使用数值,但您可以使用Column的数值或字符串值。以下两行都涉及单元格C5:
Cells(5,"C")
Cells(5,3)
因为Item属性是RANGE对象的默认属性,所以可以按如下方式缩短这些行:
Cells(5,"C")
Cells(5,3)
我最近发现你可以这样做:
For Each cell In Range("A2:A3")
Cells(cell.Row,3)
我该怎么做(我需要正确的语法)
For Each cell In Range("A2:A3")
Cells(cell.Row,cell.Row.NamedColumn"Customer")
答案 0 :(得分:3)
您应该选择E列并为CUSTOMER
分配range name。然后,您可以在代码中将其引用为Range("CUSTOMER")
,将其列号引用为Range("CUSTOMER").Column
。如果您剪切此列并将其粘贴到其他位置,则其名称将随之附带,因此代码中的引用将保持有效。
答案 1 :(得分:2)
一种方法是在标题行中搜索要使用的列名。返回的Range对象的column属性指示您要使用的列。请参阅以下代码,如果您需要其他帮助,请告诉我们。
Sub LocateByHeader()
Dim rngFnder As Range
Dim rngHeader As Range
Const HEADER_ROW As Integer = 1
Set rngHeader = Intersect(Sheet1.Rows(HEADER_ROW), Sheet1.UsedRange)
Set rngFnder = rngHeader.Find("Customer")
If rngFnder Is Nothing Then
'Do some code in case the header isn't there
Else
' rngFnder.Column will give the index of the column with the customer name
End If
End Sub