在Excel

时间:2017-06-22 08:00:44

标签: excel vba excel-vba

我正在编写一个宏来在Excel工作簿的工作表之间导航,就像在窗口之间使用Alt + Tab一样。 (我知道,有Ctrl + PgUp和Ctrl + PgDn命令,但这些按钮的键盘位置不正确。)

宏:

Sub navigate_sheet()

    If ActiveSheet.Index < Sheets.Count Then    
        ActiveWorkbook.ActiveSheet.Next.Select    
    Else    
        ActiveWorkbook.Sheets(1).Select    
    End If

End Sub

它在原始文件中完美运行,但是当我尝试在其他excel中使用它时,我得到运行时错误&#39; 1004&#39;和Debug突出显示以下行:

ActiveWorkbook.ActiveSheet.Next.Select

知道出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

Option Explicit

Sub navigate_sheet()

Dim wb As Workbook    
Set wb = ThisWorkbook

If ActiveSheet.Index < wb.Sheets.Count Then
    wb.Sheets(ActiveSheet.Index + 1).Select
Else
    wb.Sheets(1).Select
End If

End Sub