• ベストアンサー

VBAで同じ文字のシートを開きたい

VBAの超初心者です。 説明不足だと思いますが、申し訳ございません。 質問内容なのですが、 シート1にカレンダーを作成しています。 カレンダーの1をダブルクリックしたら”1”のシートというように、同じ数字のシートを参照したいのですが、参照する式が分かりません。 使っているエクセルは2003です。 どなたか教えてください。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

こんばんは。 一例です。 エラー処理はしてません。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Worksheets(CStr(Target.Value)).Activate End Sub

sabaodog
質問者

お礼

ありがとうございます。 この式で該当するシートを開くことができました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>同じ数字のシートを参照したいのですが、参照する式が分かりません。 質問の参照とは? 参考までに シート名のタブを右クリック、コードの表示をクリック Vbエディターが起動しますので Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox Sheets(Target.Value).Range("A1").Value MsgBox Sheets(Target.Value & "").Range("A1").Value Sheets(Target.Value).Select End Sub をコピィしてみてください ダブルクリックしたセルに入っている数値のシート番号のA1セルの値 ダブルクリックしたセルに入っている文字と同じ名前のシートのA1セルの値 ダブルクリックしたセルに記述してある値と同じシート名のシートへ移動します。

sabaodog
質問者

お礼

やっぱり私の説明わかりにくかったですよね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAで非表示にすると該当のシートが開けなくなる

    VBA超初心者です。 先ほど、 シート1にカレンダーを作成しています。 カレンダーの1をダブルクリックしたら”1”のシートというように、同じ数字のシートを開くようにしたいのですとの質問にご回答頂きまして、解決できたのですが… 式は Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Worksheets(CStr(Target.Value)).Activate End Sub を入れ、カレンダーの”1”をダブルクリックしたら、見出しが”1”のシート、 カレンダー”2”をダブルクリックしたら見出しが”2”のシートが開くようになったのですが、見出し”1””2”のシートを非表示にすると見出し”3”のシートが開くようになってしまいます。 非表示にしてもダブルクリックしたら隠れている見出し”1”や”2”のシートが出てくるようには出来ないのでしょうか? 超初心者なので、式の組み立て方がうまくいきません。 言いたい事も上手に説明できてないと思います。 申し訳ございません。 どのように式を入れたらよいのでしょうか。 そもそも1つのブック内にまとめてるのがよくないのでしょうか? この3連休中に作成したいのですが、思うように進みません。 よろしくお願い致します。

  • excel vba について

    お世話になります。 excel vba 初心者です。office2003使用しています。 コードの書き方が分からないのでご教授していただけないでしょうか? やりたいことは、 セルのC5をダブルクリックしたときに、カレンダーコントロールを表示させ、カレンダーの日付をクリックした時にその日付をC5へ渡しカレンダーコントロールを閉じたいです。 よろしくお願いいたします。

  • 複数条件を別シートへ転記

    現在Excelにてカレンダーを作成中です。 シート1のカレンダーの内容は             2022 年  6 月            1  2  3  4  5           5件 3件 2件    5件   と日付にあった合計数を表示しています。 この合計数の元はシート2に一覧が有ります カレンダーの日付をダブルクリックした際に シート3へ抽出したいのですがいい方法が思い浮かびません。 A1セル”2022”、A3セル”6”、B1セル”1”が一致させたい為 シート2には抽出出来るようYEAR/MONTH/DAYでセルは分かれています。 ワークシートのVBAにしたいのですが教えて頂けます様お願いいたします。

  • エクセルVBA アクティブのシートによって処理を変える方法

    エクセルの勉強をしていて行き詰まってしまったので相談させて下さい。 現在アクティブになっているシートによって処理を変えるVBAを作っています。 IFを使うことになるかと思うのですが”シート1がアクティブの場合”という 条件をうまく付けることが出来ません。 If "アクティブシートがsheet1" Then <<指定の処理>> ElseIf"アクティブシートがsheet2"Then <<指定の処理>> Else EndIf うまく説明できず申し訳ありませんが条件式の" "の中に入るコードを教えて下さい。 不足部分については補足させて頂きますのでよろしくお願い致します。

  • Excelのシート間の参照

    エクセル初心者です。 エクセルでシートが2枚あるものを作成しました。 一枚目のシートのA1のセルの内容(言葉)を 二枚目のシートのB3のセルの内容に参照させたいと思い B3を選択し、セルのなかに =を入力して 一枚目のシートのセルA1をクリックしようと思ってもクリックができません。 二枚目のシートのセルB3を同じ二枚目のシートのB10にあてようとして =を入力してB10をクリックすると参照ができます。 =B10 セル内は↑のようになります。 どうしてできないのでしょうか? 困っています.教えてください。

  • excel VBA フォームを使って

    初歩的な質問だと思いますが、教えていただけますでしょうか。 excelのVBAを使って、ユーザフォームを作ります。 そこにカレンダーコントロールでいわゆる「カレンダー」を作成し、 その下にテキストボックス(ちょっと大きめ)を作ります。 カレンダーをクリックし、テキストボックスにスケジュールが表示されるというものを作りたいです。 現在ワークシートには、scheduleというものだけを作成し、そこには日付とスケジュールを書き込んでいる状況です。 スケジュールは1行のみとは限りません。複数行のほうが多いです。 お忙しいところ申し訳ありませんが、よろしくお願いします。

  • excel97のVBAについて

    始めまして、MV3307と申します。 さて下記内容を、VBAでコードを書くつもりですが、マクロ初心者で記載 方法が分からないので是非ご教授お願いいたします。     記 (1)EXCELの"Sheet1"の数式バーに式が表示してあります。 (2)VBAの"コマンドボタン"をクリックして、数式バーの式をTexBoxに取得する。 以上です、宜しくお願いします。    

  • エクセルVBA 複数シートからのデータ取得

    質問失礼します。 現在エクセルVBAを用いてマクロを作成しているのですが、 30ものシートから複数のデータを取得する方法がわかりません。 Sheet1.Cells(○,□).value とすれば、Sheet1の○□のセルからの データは取得できるのですが、それをSheet30まで書き続けると 結構な行数になってしまいます。 そこで、Sheet1~Sheet30まで1~30の数字をループで変更させながら 参照していく方法はありませんか? 自分でも色々試してみたのですが、どれも成功しなかったので。。 回答の程よろしくお願いします。

  • エクセル VBA ' " ! & の使い方

    エクセル VBA ' " ! & の使い方 VBAを独学で勉強している、超初心者です。 同じシート内でのVBAを作るのはなんとなくできるようになったのですが、別のシートのデータを参照したいときなど、(シート名を変数にしています)うまく動作できません。 ' " ! & の使い方をやさしく解説してください。 よろしくお願いします。

  • VBA シート1だけを保存する

    VBA シート1だけを保存する こんにちは、VBA初めてまもない初心者です よろしくお願いします 動作環境として、OS:XP excel:excel2007 を使用しています VBA で CSV データを取込む際にCSV データのとある項目以降から 2行目にして更にセルを結合しようと思っていたのですが どうやら、VBAだとワンアクションじゃ出来ないことに気がつきました。 例:    ※1行の例です。実際にはこのCSVデータが1000行近く有ります (CSV data) "AAA","BBB","CCC","DDD","EEE","FFF"         ↓ (VBAのみではワンアクションでは出来ませんでした) (excel)       A   B   C   D              1行目 AAA BBB CCC DDD 2行目   EEE     FFF    //EEEは[2A,2B]のセル、 FFFは[2C,2D]のセル ですので、やり方を切り替えて 1・1度CSVデータをエクセルシート1に取込む 2・シート2でセルの枠の結合やサイズ等を変更しながら、シート1の内容を参照する (注意:コピーではなく参照です) 3・シート2の部分だけを保存する、もしくはシート1の内容を削除する 1-3のような手順で、処理を行う事が出来るのでしょうか? アドバイス頂けたらと思います。<(_ _)>

このQ&Aのポイント
  • 何もできない状況にあなたは困っていますか?死ぬのを待つだけでなく、他の選択肢もあるかもしれません。アドバイスを求めることで新たな展開が見えるかもしれません。
  • 待つだけではなく、問題解決のためにアクションを起こしましょう。アドバイスを求めることで新たな視点や解決策が見つかるかもしれません。
  • どんな困難な状況でも、逃げずに立ち向かうことが大切です。アドバイスやサポートを受けながら、自分自身を変えるチャンスと捉えてみましょう。
回答を見る

専門家に質問してみよう