|
たびたびすみません。図々しいのですが、
_________________________________________________________________________
Sub シート選択()
Dim InputStr As String
Dim Msg1 As String
Dim Title1 As String
Dim Temp As String
Dim Ron As String
Dim i As Byte
MsgBox "シート選択のマクロを始めます。"
InM:
Msg1 = "選択したいシートの名前を入力して下さい。"
Title1 = "シートの選択"
InputStr = InputBox(Msg1, Title1)
For i = 1 To Worksheets.Count
Temp = Worksheets(i).Name
Select Case i
Case Worksheets.Count
If InputStr = Temp Then
Worksheets(InputStr).Activate
MsgBox Temp & "ワークシートが選択されました。", vbOKOnly + vbInformation, "シートの確認"
Else
MsgBox InputStr & "に該当するワークシートはありません。", vbOKOnly + vbExclamation, "シートの確認"
GoTo OutN
End If
Case Else
If InputStr = Temp Then
Worksheets(InputStr).Activate
MsgBox Temp & "ワークシートが選択されました。", vbOKOnly + vbInformation, "シートの確認"
GoTo OutN
End If
End Select
Next
OutN:
Ron = MsgBox("シート選択を続けますか?", vbYesNo + vbQuestion, "続行確認")
If Ron = vbYes Then GoTo InM Else MsgBox "シート選択マクロを終わります。"
End Sub
_________________________________________________________________________
問題
・シート名を入力せずにOKボタンを押したとき、エラーメッセージを表示させて入力状態に戻すには?
・入力のとき、「キャンセル」ボタンを押したら、マクロを終了するようにしてみるには?
どう工夫・変更したらこのようにすることができるでしょうか?
知恵をお借りしたいです。どうぞよろしくお願いします。
(最初の問題はすでにクリアできている!?)
|
|