1

「概要」という名前の概要シートがあり、そこにリンクがあります。このリンクは次のサブに移動します。

Sub WTButton()
Call GoToWorksheet("Wilmington")
End Sub

ご覧のとおり、これは という別のサブルーチンを呼び出しGoToWorksheetます。次のようになります。

Sub GoToWorksheet(strWorksheet As String)
On Error GoTo Err_GoToWorksheet
With Worksheets("Summary")
   If Worksheets(strWorksheet).Visible = xlSheetHidden Then
      Worksheets(strWorksheet).Visible = xlSheetVisible
   End If

   Worksheets(strWorksheet).Activate

End With

Exit_GoToWorksheet:
   Exit Sub

Err_GoToWorksheet:
   MsgBox Err.Description, vbCritical, "GoToWorksheet Error"
   Resume Exit_GoToWorksheet

End Sub

エンド ユーザーがデータを追加する準備ができるまで、シートを非表示のままにしておきます。このシステム全体は、シートが既に表示されている場合にうまく機能します。シートが非表示の場合、表示されず、アクティブ化されません。

私は何を間違っていますか?

ファイルへのリンク: https://www.dropbox.com/s/wsv9al410m7kwda/Book1Test.xlsm

4

3 に答える 3

0

テストされていませんが、動作するはずです...

Sub GoToWorksheet(strWorksheet As String)
  On Error GoTo Err_GoToWorksheet
  With Worksheets(strWorksheet)
     If .Visible = xlSheetHidden Then
        .Visible = xlSheetVisible
     End If
     .Activate
  End With

Exit_GoToWorksheet:
   Exit Sub

Err_GoToWorksheet:
   MsgBox Err.Description, vbCritical, "GoToWorksheet Error"
   Resume Exit_GoToWorksheet

End Sub
于 2013-08-08T16:01:31.770 に答える