代码段:
我使A中的值等于B中的值。
Set A = Workbooks("SwbA").Worksheets("SwsA").Range("A1:A10")
Set B = Workbooks("twbB").Worksheets("twsB").Range("G1:G10")
A.value = B.value
我想声明一个变量,例如
Dim col AS STRING
col = "A"
所以我可以为此做些事情-
Set A = Workbooks("SwbA").Worksheets("SwsA").Range(col&1:col10)
请注意,我不想这样做-
col = "A1:A10" '--> this works, for other reasons I want to manipulate Column letter only
答案 0 :(得分:0)
我看不到您的图片,但您可以
Dim Col As String
Col = "A"
Dim r As Range
Set r = Range(Col & "1:" & Col & "10")
答案 1 :(得分:0)
将一列声明为变体时,可以使用字母或数字。那么Cells
属性就适合使用。
Sub NumberOfRows()
Const cW1 As String = "twbB" ' Source Sheet or Book
Const cW2 As String = "SwbA" ' Target Sheet or Book
Const cCol1 As Variant = "G" ' Source Column Letter/Number
Const cCol2 As Variant = "A" ' Target Column Letter/Number
Const cFirst As Long = 1 ' First Row
Const cLast As Long = 10 ' Number of Rows
Dim rngB As Range ' Source Range
Dim rngA As Range ' Target Range
Set rngB = Workbooks(cW1).Worksheets(cW1).Cells(cFirst, cCol1).Resize(cLast)
Set rngA = Workbooks(cW2).Worksheets(cW2).Cells(cFirst, cCol2).Resize(cLast)
rngA.Value = rngB.Value
End Sub
Sub LastRow()
Const cW1 As String = "twbB" ' Source Sheet or Book
Const cW2 As String = "SwbA" ' Target Sheet or Book
Const cCol1 As Variant = "G" ' Source Column Letter/Number
Const cCol2 As Variant = "A" ' Target Column Letter/Number
Const cFirst As Long = 1 ' First Row
Const cLast As Long = 10 ' Last Row
Dim rngB As Range ' Source Range
Dim rngA As Range ' Target Range
Set rngB = Workbooks(cW1).Worksheets(cW1).Range(Cells(cFirst, cCol1), Cells(cFirst, cCol1))
Set rngA = Workbooks(cW2).Worksheets(cW2).Range(Cells(cFirst, cCol2), Cells(cFirst, cCol2))
rngA.Value = rngB.Value
End Sub