• ベストアンサー

VBAでどうプログラムしたらいいのか教えてください

皆様、お忙しいところすみません。 VBAでどうプログラムしたらいいのか、わからなくなったので、教えてください。 ひとつのブックに、シートが50枚以上あります。 そのままだと非常に目的のシートまでたどり着くのに手間がかかるので、 VBAにて、フォームをつくり、その中にシート一覧を表示させ、 それをクリックすると目的のシートまで飛ぶ…というものを作成したいです。なんとかなりますでしょうか。よろしくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

シートタブをスクロールさせる場所で右クリックすれば、ダイアログ が表示されますが、これではダメ? これを VBA で表示させたいならこんな感じ。 Sub シート選択ダイアログ表示()   With Application.CommandBars.Add(Temporary:=True)     .Controls.Add(ID:=957).Execute     .Delete   End With End Sub

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

その他の回答 (3)

  • OtenkiAme
  • ベストアンサー率77% (69/89)
回答No.4

こんにちは。 私も100枚近いシートを持つブックを使っており、 ユーザー用には、ツールバーにシート一覧を表示させるVBAも 作ってありますが、私自身は、キーボードの操作で [CTRL]+[Page Up]/[Page Down]でシートの切り替えをしています。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

VBAが少しわかるようになって、フォームなど使ってみたい時期なんでしょうが、難しいこと考えずに、 シート選択の専用シートを作り、 一番左にシートタブを持ってきておいて、 A列に第1シート1-第20シート分 C列にシート第21-第40シート分 ・・ のように設定し 各セルに =HYPERLINK("#Sheet3!A1","シート3") のように、シートの数だけ入れる、のが簡単ですよ。

全文を見る
すると、全ての回答が全文表示されます。
noname#42268
noname#42268
回答No.1

こんばんは。 参考意見として。 VBAでシートを操作する方法は御存知でしょうか? 一番簡単な方法として。 マクロを有効にする シートを次のシートにする マクロを記録する。 マクロの中身を見る。 シート名(もしくは固有の情報があるので)をVBAで残りを書いてあげる。 マクロの消去。 一番最初のシートにボタンでもつけたり、リストをつけたりなどなどは工夫で。 これで可能です。 プログラムを作る上では先人の知恵を拝借すると吉。 http://www.google.co.jp/search?hl=ja&q=VBA+%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB+%E3%82%B7%E3%83%BC%E3%83%88+%E6%93%8D%E4%BD%9C&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= どこかにサンプルがあるかも。 (エクセルのマクロの中が実はVBAだったりします。)

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

関連するQ&A

  • VBAユーザーフォーム

    VBA初心者です。ユーザーフォームを作成しシート上に一覧表示をできるように作成しました。(本を見ながらとこちらで質問等させて頂きやっとできました) なので、次にsheet1に一覧表示を作成しているので、sheet2に個別表示の仕方はどうしたらよいか教えて頂きたいです。一人の人の情報量が多く、一人分の資料もほしいのですが・・ユーザーフォームから入力後に一覧と個別とにするのはどうすれば初心者でもできますか? 質問も下手なのでわかりにくいかもしれませんが、教えて頂けたらと思います。

  • エクセルVBA ユーザーフォームの終了について

    エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)

  • Excelファイルの処理、どのプログラムがよい?

    .csvファイルが100個くらいあります。 各ファイルの行数は500~65000ほど、列数は7前後です。 これらのファイルを読み込み、単純操作を行い、結果表示をしたいというのが目的です。 1.具体的にはフォームにファイル一覧が表示される 2.一覧からファイルをクリックすると、ファイルがメモリあるいは、グリッド(?)などに読み込まれる 3.読み込まれたファイルに単純なExcelの処理をほどこす(MAX,MIN関数や加減乗除など) このプログラムを作成するには、どのアプリケーションで作成すべきですか? 自分ができそうなのは、VB.net、Excel、VBAなど(全てサンデープログラマー程度)です。 Javaとか使えません。

  • VBAで非表示のブックからシートの名前だけ抽出する方法

    WindowsとExcel2003を使用しています。 (1)まず、VBAでフォームを作成しその上にリストボックスを1つ作ります。 (2)そのリストボックス内に自フォルダにあるファイル名の一覧を表示します。 (3)その一覧から1つだけエクセルファイルを選択し、実行ボタンをクリックすると新しいフォームが開きます。 (4)そのフォームのリストボックス内に、選択したファイル内の全シートの名前を表示させようとしています。 (3)までは何とか作成することが出来て、動作しています。 (4)で、選択したエクセルファイルのシート名を取得するときに、当該bookを開くことなく、もしくは使用者には選択したbookが立ち上がったことを気づかせずにシート名だけを取得したいと考えていますが、この方法がわかりません。 さらには、取得したシート名から1つを選択し、それを変数に格納して使おうと思っています。 FileSystemObjectというのを使用するのでしょうか? ExcelVBAをはじめて触るため、手探り状態です。情報が不足している場合はすぐに補足します。 ご存知の方、ご教示よろしくお願いします。

  • VBAについて教えて下さい

    VBAでBOOKを選択して選択したBOOKの開いたシートを作業中のBOOKにあるSheet3へコピーして開いたBOOKを閉じるプログラムを教えて下さい。

  • VBAでのプログラム

    AccessにてExcelのファイルをインポートしてA,B,C・・・ という複数のテーブルを作成しました。でそのテーブルからA-1,A-2,B-1,B-2・・・というクエリを作成し、それからオートフォームで個別に表示できるフォームをそれぞれ作成しました。 ここからが質問なのですが、上記のファイルをフォームを 作成して検索できるようにしたいと思い、フォームは作成できたのですが、それに対応するアクションのプログラム がわからないのでご存知でしたら教えてください。 まず2つのチェックボックスで*-1,*-2とクエリ、フォームを選択し、コンボボックスでA,B,C・・・を選択して、コマンドボックスでボタンをクリックすると希望どおりのクエリかフォームが表示されるといった具合です。 かなりわかりづらいと思いますが、補足をさせて頂きますのでよろしくお願いします。

  • EXCEL VBA 共有ファイルと入力フォーム

    データ入力を複数人で行うため、素のデータBook Aと入力フォームを持つBook Bがあります。 Book Bを開くと自動的にBook Aを開き、入力フォームでデータをBook Aにデータを入れていくVBAを作成しています。 EXCELのフォームはそのBook上での起動でPopUP的に表示されます。(Book Bのシート表示上でフォームが表示される) ユーザーからの要望で、Dataの入力状況を確認しながら、入力したい。つまり、Book Aのデータシートを背面に表示して、その上に入力フォームを表示したい。(入力フォームは常に手前に表示したい) 同じBooK内ならデータシートをセレクトしてフォームを開けばいいのですが、このような場合には、どうしたらいいでしょうか? お知恵をお貸しください。

  • VBA 患者情報データをまとめたい

    VBA初心者です。 (1)ユーザーフォームより情報を入力しsheet1に一覧として登録していく (2)Sheet2で検索ボタンを設け、患者様一人の情報を表示し、印刷できるようにする。 登録したい項目が63と多いので患者様一人の表を別に作成し、一覧表示へ入力していることがそのままその表にうつっていたいです。 初心者なので説明もおかしく申し訳ございません。 誰か教えて頂きたいです。よろしくお願い申し上げます

  • エクセル VBA 

    エクセル VBA  Sheet上にコマンドボタンをクリックさせたら 電卓表示させるにはどのように記述をしたら良いですか? (1)勿論、VBAで電卓作成したいのですが…何か良いサイトはありますか?それか  作り方を教えて欲しいです。 (2)ツール⇒すべてのプログラム⇒アクセサリ⇒電卓  で表示できますよね!それをコマンドボタンクリックで  表示させるには、どのように記述したら良いですか?   すいません教えてください!

  • EXCEL VBAで複数シート内のセルをまとめて表を作成

    EXCELマクロ(VBA)を教えてください。 なやんでいることは、 目的:シート1からシート5までの表の値をシート6に一覧表を作成させる。 ・シート1からシート5まで シート内の表からセル値をコピーしてマクロで(ボタンか何かで)シート6にシート1からシート5のセル値を貼り付けていくような動作をさせられるようなプログラムをつくりたいです。    表(一覧)を作成させたいので わかる方プログラミングを教えてください。よろしくお願いします。

専門家に質問してみよう