我试图运行下面的代码。但它显示下标超出范围的错误。当我尝试调试它时,它在第5行中显示错误:Range(“A1”)。选择 调试时,当我将第4行的Sheet1制作为Sheet2时,它不在Sheet2上。 请帮我正确运行代码。“我的代码不工作”
Sub excelmacro()
Application.ScreenUpdating = False
Sheets(“Sheet1”).Select
Range(“A1”).Select
Sheets(“Sheet2”).Select
Range(“A2”).Select
For i = 1 To 3
Sheets(“Sheet1”).Select
If Len(ActiveCell.Value) > 1 Then
Sheets(“Sheet1”).Select
Xname = Right(ActiveCell.Value, Len(ActiveCell.Value) - 6)
Xdesig = Right(ActiveCell.Offset(1, 0).Value, Len(ActiveCell.Offset(1, 0).Value) - 13)
Xsalary = Right(ActiveCell.Offset(2, 0).Value, Len(ActiveCell.Offset(2, 0).Value) - 8)
Sheets(“Sheet2”).Select
ActiveCell.Value = Xname
ActiveCell.Offset(0, 1).Value = Xdesig
ActiveCell.Offset(0, 2).Value = Xsalary
ActiveCell.Offset(1, 0).Select
Sheets(“Sheet1”).Select
ActiveCell.Offset(3, 0).Select
Else
i = 10
End If
i = i - 1
Next
Application.ScreenUpdating = True
End Sub
我认为你的问题是你正在使用的引号。看起来他们来自Word文档或其他富文本格式编辑器。使用纯文本编辑器(如记事本)将所有引号替换为标准引号。你也应该避免选择表格和单元格,直接引用它们。如果您希望一旦检查报价情况,我可以进一步阐述该问题。 –
非常感谢你的工作。错误只是引号。 – Komal
但是现在我得到的错误是“应用程序定义的或对象定义的错误行”对于i = 1到3“ – Komal