按名称选择工作表

时间:2015-08-12 10:58:01

标签: vba excel-vba excel

我在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)

1 个答案:

答案 0 :(得分:2)

您需要将变量srcClm1srcClm2声明为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