我在VB中有一个代码:
srcClm2 = Sheet45.Range("B2:B" & lastRowSrc)
但我想选择名单。我尝试了不同的方式,例如:
Sheets("Cycle").Range("A2:A" & lastRowSrc)
但我有错误:"类型不匹配。"
修改 这是我的代码片段:
Dim srcClm1(), srcClm2()
Dim lastRowSrc As Long
lastRowSrc = Sheets("Line_Cycle_working_sheet").Cells(Rows.Count, 1).End(xlUp).Row
srcClm1 = Sheets("Line_Cycle_working_sheet").Range("A2:A" & lastRowSrc)
srcClm2 = Sheets("Line_Cycle_working_sheet").Range("B2:B" & lastRowSrc)
答案 0 :(得分:2)
您需要将变量srcClm1
,srcClm2
声明为Variant。
Dim srcClm1 As Variant, srcClm2 As Variant
Dim lastRowSrc As Long
lastRowSrc = Sheets("Line_Cycle_working_sheet").Cells(Rows.Count, 1).End(xlUp).row
srcClm1 = Sheets("Line_Cycle_working_sheet").Range("A2:A" & lastRowSrc)
srcClm2 = Sheets("Line_Cycle_working_sheet").Range("B2:B" & lastRowSrc)
实际上你可以跳过As Variant
并宣布它是这样的:
Dim srcClm1, srcClm2
因为Variant
类型是默认值。但是,最好添加As Variant
以明确说明您是出于目的而非错误地将其声明为Variant
。