模块将无法在Excel VBA编辑器中运行

时间:2019-07-24 14:16:35

标签: excel vba

我试图在excel的Visual Studio编辑器中运行程序,但是当我单击绿色的运行按钮时,没有任何反应,模块也没有运行。但是,与其他模块一起运行正常。我不确定是什么问题。

我已经尝试过重新启动excel并将代码复制到可以正常工作的另一个文件和模块中,但是会发生相同的问题。

这是代码:

Sub Balance()
    Dim rownum As Long
    Dim colnum As Long
    Dim startrow As Long
    Dim lastrow As Long

    rownum = 1
    colnum = 1
    lastrow = ThisWorkbook.Sheets("Sheet1").Range("A65536").End(xlUp).Row

    With ThisWorkbook.Sheets("Sheet1").Range("a1:a" & lastrow)
        For rownum = 1 To lastrowEmp
            Do
                If .Cells(rownum, 1).Value = "Employee Group Totals" Then
                    startrow = rownum
                End If

                rownum = rownum + 1
                If (rownum > lastrow) Then Exit For
            Loop Until .Cells(rownum, 1).Value = "Net pay"

            endrow = rownum
            rownum = rownum + 1

            ThisWorkbook.Sheets("Sheet1").Range(startrow & ":" & 
      endrow).EntireRow.Copy

            ThisWorkbook.Sheets("Sheet2").Select
            Range("A1").Select
            ActiveSheet.Paste
        Next rownum
    End With    
End Sub

1 个答案:

答案 0 :(得分:6)

使用此功能:

For rownum = 1 To lastrow

代替:

For rownum = 1 To lastrowEmp

此外,明智的做法是在任何主题之前使用Option Explicit,以避免这些错误。

您的代码正在运行,但是由于lastrowEmp中没有值,因此跳过了For循环。