运行时错误“1004”:应用程序定义或对象定义的错误

我写了一个代码,可以帮助我进一步处理数据。 但我不知道为什么我不能select细胞。 我得到一个错误

运行时错误“1004”:

应用程序定义或对象定义的错误

请在下面查看我的代码

Sub CommandButton1_Click() Dim day_a, day_b As Date, point As String, east_a, north_a, height_a, height_b, east_b, north_b As Double Dim i1, i2, i3, i4, i5, i6, i7 As Variant i1 = 1: i2 = 1 Worksheets("INPUT").Cells(i1, i2).Select Do While Not IsEmpty(ActiveCell) Worksheets("INPUT").Cells(i1, i2).Activate If ActiveCell.Value = "Id" Then i3 = Split(ActiveCell.Address(columnAbsolute:=True, ReferenceStyle:=xlR1C1), "C")(1) MsgBox (cellidrow) ElseIf ActiveCell.Value = "Nord" Then i4 = Split(ActiveCell.Address(columnAbsolute:=True, ReferenceStyle:=xlR1C1), "C")(1) ElseIf ActiveCell.Value = "Øst" Then i5 = Split(ActiveCell.Address(columnAbsolute:=True, ReferenceStyle:=xlR1C1), "C")(1) ElseIf ActiveCell.Value = "S_OBJID" Then i6 = Split(ActiveCell.Address(columnAbsolute:=True, ReferenceStyle:=xlR1C1), "C")(1) ElseIf ActiveCell.Value = "DATO" Then i7 = Split(ActiveCell.Address(columnAbsolute:=True, ReferenceStyle:=xlR1C1), "C")(1) Else End If i2 = i2 + 1 Loop MsgBox (i3 & i4 & i5 & i6 & i7) Sheets("INPUT").Cells(i5, i3).Select MsgBox (ActiveCell.Value) End Sub 

非常感谢你的帮助!

这是因为Cells()接受数字作为它的行索引和列索引参数,而声明了i5i3作为变体并且从Split()函数为它们赋值,它们变成了 Stringtypes的值

你应该将它们转换为Long ,如下所示

 i3 = CLng(Split(ActiveCell.Address(columnAbsolute:=True, ReferenceStyle:=xlR1C1), "C")(1)) 

但你可以重构你的代码如下

 Option Explicit Sub CommandButton1_Click() Dim i3 As Long, i4 As Long, i5 As Long, i6 As Long, i7 As Long Dim cell As Range With Worksheets("INPUT") For Each cell In .Range("A1", .Cells(1, .Columns.Count).End(xlToLeft)) Select Case cell.Value Case "Id" i3 = cell.Column Case "Nord" i4 = cell.Column Case "Øst" i5 = cell.Column Case "S_OBJID" i6 = cell.Column Case "DATO" i7 = cell.Column Case Else End Select Next MsgBox (i3 & i4 & i5 & i6 & i7) .Cells(i5, i3).Select MsgBox (ActiveCell.Value) End With End Sub