【发布时间】:2018-11-12 10:33:06
【问题描述】:
代码片段:
我使 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
【问题讨论】:
-
我不想添加完整的答案,因为我知道这一定是一个重复的问题。使用数字(col A=1、B=2 等)声明您的列。对列
A:J的非限定引用将是:Debug.Print Range(Cells(1, 1), Cells(1, 10)).EntireColumn.Address。好的做法是使用可以在With....End With块内完成的工作簿和工作表名称来限定Range和Cells。 -
另一种方法是获取第一列,计算您需要多少额外列并调整范围
Debug.Print Columns(1).Resize(, 10).Address。 -
你可以使用
Set B = Workbooks("SwbB").Worksheets("SwsB").Range(A.Offset(ColumnOffset:=6).Address)。 -
感谢您的回答。我没有专业知识来采纳你的建议。我正在从中学习。