• ベストアンサー

変数

エクセルマクロについて質問です。よろしくお願い致します。 通常、例えば「sheet1」という名前の付いたワークシートを選択する場合、  sheets("sheet1").select と記述するかと思います。そこで質問です。変数を使って、操作する人が選択した任意のワークシートを指定するためにはどのように記述すればいいでしょうか。 例)  ・変数「年度」を宣言する。  ・操作する人が選択した任意の年度を「年度」に代入する。  ・「年度」に1999と代入されたときは「1999」と名前の付いたワークシートを選択する。  以上お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

Sub test02() Dim f As String f = InputBox("ファイル名=") Worksheets(f).Range("a1") = "xxx" End Sub を参考にしてください。Sheet1のA1にxxxをセットします。

noname#126193
質問者

お礼

大変参考になりました。 どうも、変数の定義でlongを使っていた点がまずかったようです。ありがとうございました。

その他の回答 (1)

回答No.2

2パターン作りました 1:UserFormのTextBoxで指定したシート名が   ブックにあるか調べ、あればシートを選択。      Private Sub CommandButton1_Click() Dim a As Integer 'シートカウント For a = 1 To ActiveWorkbook.Sheets.Count If TextBox1.Value = ActiveWorkbook.Sheets(a).Name Then ActiveWorkbook.Sheets(a).Activate Exit For End If Next End Sub 2:Book1.xlsのSheet1のA1セルに入力されたシート名が   ブックにあるか調べ、あればシートを選択。 Sub test2() Dim a As Integer 'シートカウント For a = 1 To Workbooks("Book1").Sheets.Count If Workbooks("Book1").Sheets("Sheet1").Range("A1").Value = Workbooks("Book1").Sheets(a).Name Then Workbooks("Book1").Sheets(a).Activate Exit For End If Next End Sub

noname#126193
質問者

お礼

大変参考になりました。 その後の展開において、ちょっと疑問に思っていた点まで解決できました。ありがとうございました。

関連するQ&A