我想从一个Excel工作簿(1)中获取多条信息,并使用Select Case将它们插入另一个Excel工作簿(2)中的某些单元格中。我使用一个数组来存储Excel工作簿(1)中的信息,然后想要循环数组以插入不同的值。
这是我到目前为止所做的:
Private Sub CommandButton21_Click()
Dim MyArray(2 To 6) As Range, Time As Single, Description As String
MyArray(2) = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").Range("C2")
MyArray(3) = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").Range("C3")
MyArray(4) = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").Range("C4")
MyArray(5) = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").Range("C5")
MyArray(6) = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").Range("C6")
Time = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").MyArray(2, 6).Offset(0, 3).value
Description = Workbooks("case_time_report.xlsm").Worksheets("case_time_report.csv").MyArray(2, 6).Offset(0, 8).value
For i = 2 To UBound(MyArray)
Select Case MyArray(i).text
Case "Correspondence"
Cells(i, 1).Offset(0, 18) = Time
Cells(i, 1).Offset(0, 1) = Description
Case "VTC"
Cells(i, 1).Offset(0, 14) = Time
Cells(i, 1).Offset(0, 1) = Description
Case "Travel"
Cells(i, 1).Offset(0, 17) = Time
Cells(i, 1).Offset(0, 1) = Description
Case "Telephone Call"
Cells(i, 1).Offset(0, 18) = Time
Cells(i, 1).Offset(0, 1) = Description
Case "Client Meeting"
Cells(i, 1).Offset(0, 14) = Time
Cells(i, 1).Offset(0, 1) = Description
Case "Court Hearing"
Cells(i, 1).Offset(0, 5) = Time
Cells(i, 1).Offset(0, 1) = Description
Case "Motions"
Cells(i, 1).Offset(0, 16) = Time
Cells(i, 1).Offset(0, 1) = Description
End Select
Next i
End Sub
我一直遇到类似"对象变量或未设置块的问题"和"不支持的属性或方法"。
答案 0 :(得分:0)
您需要先解决几个非常小的语法问题:
MyArray(i)
而不是MyArray(i).text