excel vba - 代码不在旧工作表上运行,但在新工作表上运行

时间:2016-10-04 13:13:02

标签: excel vba

我有一些从在线程序中获得的excel表格,它可以从PDF转换为excel,并且正在尝试处理这些数据。但是,当我尝试运行此代码时:

Sheets(1).Range("A1").Select
    For j = 1 To 16
        If Selection.Offset(j, 0) = 1 Then
           Selection.Offset(j, 0).Select
        End If
    Next j

Excel显示runtime-error '1004': application-defined or object-defined error

但是,如果我创建一个新的工作表,代码运行没有问题。为什么我不能在其他工作表上运行我的代码?

Selection.Offset(2, 0) = Sheet(1).Range("A1")等其他说明可以正常使用。

1 个答案:

答案 0 :(得分:0)

尽可能避免使用Select。

With Sheets(1)
    For j = 2 To 17
        If .Cells(j, 1) = 1 Then
           .Cells(j, 1).Select
        End If
    Next j
End With