- ベストアンサー
変数
エクセルマクロについて質問です。よろしくお願い致します。 通常、例えば「sheet1」という名前の付いたワークシートを選択する場合、 sheets("sheet1").select と記述するかと思います。そこで質問です。変数を使って、操作する人が選択した任意のワークシートを指定するためにはどのように記述すればいいでしょうか。 例) ・変数「年度」を宣言する。 ・操作する人が選択した任意の年度を「年度」に代入する。 ・「年度」に1999と代入されたときは「1999」と名前の付いたワークシートを選択する。 以上お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub test02() Dim f As String f = InputBox("ファイル名=") Worksheets(f).Range("a1") = "xxx" End Sub を参考にしてください。Sheet1のA1にxxxをセットします。
その他の回答 (1)
- o_w_nakazaki
- ベストアンサー率43% (20/46)
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
お礼
大変参考になりました。 その後の展開において、ちょっと疑問に思っていた点まで解決できました。ありがとうございました。
お礼
大変参考になりました。 どうも、変数の定義でlongを使っていた点がまずかったようです。ありがとうございました。