|
---以下のようなプロシージャサンプルがありまして、変更するコーディングは、どのように行えば良いでしょうか・・・。解説本を読んでみましたが、いまいち理解できません;;どなた様か、回答して頂けたら幸いです!
1.追加したシートを削除して元の状態に戻す
2.複数枚のシートを、Forループを使わずにいっぺんに追加する
3.シート名を入力せずに「OK」ボタンを押したとき、 エラーメッセージを表示させて、入力状態に戻す
4.入力のとき「キャンセル」ボタンを押したら、マクロを終了するようにする
---------------------------------------------------------------------------------------------------
Sub シート選択()
Dim Inputstr, Msg, Title1, Temp, Ron As String
Dim i, j As Byte
Worksheets("Sheet3").Activate
For i = 1 To 10
Worksheets.Add after:=ActiveSheet
With ActiveSheet
.Name = "Sheet" & i + 3
.Tab.ColorIndex = i
End With
Next
MsgBox "シート選択のマクロを始めます。"
InM:
Msg1 = "選択したいシートの名前を入力して下さい。"
Title1 = "シートの選択"
Inputstr = InputBox(Msg1, Title1)
For j = 1 To Worksheets.Count
Temp = Worksheets(j).Name
Select Case j
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 + vbInfomation, "シートの確認"
GoTo OutN
End If
End Select
Next
OutN:
Ron = MsgBox("シート選択を続けますか?", vbYesNo + vbQuestion, "続行確認")
If Ron = vbYes Then GoTo InM Else MsgBox "シート選択マクロを終わります。"
End Sub
|
|