シート名を検索

シート数が増えてくると、目的のシートを探すのが面倒だったりする。
そんなときに便利な(かどうかは微妙だか)マクロを。

Sub シートの有無()
 Dim mySname As Variant
  mySname = Application.InputBox("シート名を入力して下さい")

  If mySname = False Then
    MsgBox "キャンセルします"
  Else
   On Error GoTo erhand
     Sheets(mySname).Select
       Exit Sub
erhand: MsgBox "見つかりません"
  End If
End Sub

このマクロを実行すると、下図のようなダイアログが表示され、探したいシート名を入力する。
e0080122_1837053.gif

入力したシートが存在するときは、そのシートをselectするが、見つからない場合は下図の表示が現れるようにした。
もちろん、キャンセルボタンを押したときもそのむねのメッセージが表示される。
e0080122_1840877.gif

この構文でのポイントは、キャンセルボタンを押したときの処理ということだろうか・・・
キャンセルを選択すれば、『False』がもどる。
様々な場合を考えてみて(ちょっとだけ)変数はVariantがエラーが起きなかった。
[PR]
by slayer0210 | 2006-01-08 18:45 | マクロ


<< マウスを動かすとコンボボックスが選択 任意数だけシートを追加 >>