• 締切済み

Excelで指定したワークシートを開かせたい

Excelで指定したワークシートを開かせたいのですが、方法がわかりません。お知恵をお貸しください。 Excelを開いたときにメッセージボックスで開きたい日付のワークシートを指定して開かせるようにしたのですが方法がわかりません。 Excelのファイルは次のようになっています。 ワークシートは、1~31まで31のシートがあります。 Excelファイルを開いたときにどのファイルを開くか訪ね、該当するシートを開きたい。 日付入力が、「07月02日」ならワークシート名の2を、「07月05日」ならワークシート名の5を開かせたいのですが、方法がわかりません。 申し訳ありませんが、お力をお貸しください。

みんなの回答

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

VBAで無いとできないでしょう。 質問は2つ問題を含んでいて (1)エクセルを起動したとき (2)特定のブックを開いたとき (2)を説明します。 VBEのVBAPojectのThisWorkbookをクリックして、 ObjectはWorkbook,ActionはOpenを選び 下記の中身をコピー張り付け。 Private Sub Workbook_Open() h = InputBox("日付=") d = Day(h) dw = StrConv(d, vbWide) MsgBox dw Worksheets(dw).Activate Worksheets(dw).Range("A1").Select End Sub MsgBox dw は確認用。削除して可。 ーー (1)は PERSONAL.XLS の標準モジュールに 下記をつくり、一旦保存します。 Sub auto_open() h = InputBox("日付=") d = Day(h) dw = StrConv(d, vbWide) MsgBox dw workbooks.Open "自動オープン.xls" Worksheets(dw).Activate Worksheets(dw).Range("A1").Select End Sub その後エクセルを起動すると、以下(2)と同じ。

demiguru
質問者

補足

アドバイスありがとうございます。 (1)参考に下記のようにしたのですが、ファイルを開くことができません。Fドライブの7月フォルダ内の7月4日フォルダの出欠黒板を開きたいのですが、workbooks.Openでストップしてしまいます。お手数ですが、アドバイスをいただけませんか? Sub auto_open() If MsgBox("自動実行を実施しますか", vbDefaultButton2 + vbYesNo, "自動作業") = vbNo Then Exit Sub h = InputBox("日付=") d = Day(h) dw = StrConv(d, vbWide) MsgBox dw today = Format(Now(), "m月dd日") Workbooks.Open "(f:\7月\7月04日\出欠黒板.xls)" Worksheets(dw).Activate Worksheets(dw).Range("A1").Select End Sub

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

「今日の日付のシートを開かせる」のならわりと簡単なんですが: Visual Basic Editorを立ち上げ、ThisWorkbookオブジェクトのマクロを開いて以下のように記入します。 |Sub Workbook_Open() | Sheets(CStr(Day(Date))).Select |End Sub 「ダイアログを開いて今日の日付を聞くようにする」のが割と面倒です。 今日の日付を入力させるためにはカレンダーコントロールが必要ですが、Excelには標準でカレンダーコントロールがありません。 Visual Basicなどが入っていればDTPickerというコントロールを使えるのですが・・・。

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

関連するQ&A

  • エクセルVBA ワークシート操作について

    エクセル2000 VBAで ワークシートが左から順番に 入力フォーム⇒加工費単価マスタ⇒出荷日報(原紙)と 3個あり4個目に出荷日報(原紙)をコピーしたワークシートを 入力して⇒テキストボックス1 (日付入力します出来れば、日付入力の指定方法⇒テキストボックスの入力制限方法も教えていただきたいです)に入力した名前を ワークシートに付けて保存したいのですが? 翌日は また左から4番目の位置にコピーされ 右に行くほど古い日付の順番にしたいです。 説明が不足していましたら連絡お願いします。

  • エクセルでワークシートを替えて数式をいれたい

    エクセルでワークシート名を指定して数式を入力することはできますか? ただし、ワークシート名が変化するようになっているのですが。 "='sheet1'!(A1)+'sheet2'!(a2)" でsheet1,2のところは変数にはできないんですかね? sheet1,2のところにiとかいれてもだめなんですが。

  • ワークシートを自動でコピー&ワークシート名を自動変更

    こんにちは はじめまして エクセルのワークシートを自動でコピーするやり方を教えていただけますでしょうか。 やりたいことは以下の通りです。 週報のマスターがありまして、1ファイルで1週間分である5シート、マスターからコピーしています。 今現在は雛形ワークシートを一つ作り、手動でワークシートを5日分をコピーし、ファイル名は「名前2008年6月23日-2008年6月27日.xls」という名前で保存してあります。 週報なので、ワークシート1つに月日を入れており、シート内のA1にも年月日を入れております。 ワークシートのイメージとしてはこんな感じです。↓ シート名:週報マスター.xls ワークシート名:「雛形」 ---------------------------- 2008年**月**日 勤務時間: 作業内容: ・・ ・・ ・・ ---------------------------- そしてこれの「雛形」を、自動で1週間分(5ワークシート)、ワークシートをコピーするようにしたいのです。(今は手動でやってます) WebでVBAの記事を読んで、指定した枚数コピーできることはわかったのですが、A1セルに日付を入れ、日付ごとのワークシート名をつける、 その週をどう指定するのかが不明です。 長文になってしまいましたが、どなたか教えていただけると助かります。 よろしくお願いいたします。

  • HTMLで、エクセルのワークシートへリンク

    HTMLで、エクセル内のワークシートへリンクさせたいのですが その絶対パスの書き方がわかりません。 C:\Documentsから始まって~\エクセル\●●.xlsで、 エクセルフォルダ内、 ●●のエクセルファイルまでは開くことができました。 で、さらに、 そのエクセルの中のワークシートまで指定したいのですが、 ワークシートのパスは どのように書けばいいのでしょうか? ●●.xls\ワークシート名 では開きませんでした。 よろしくお願いします。

  • VBAワーク シート名前を付けて作成

    エクセルVBAにて 原紙とゆう名前のワークシートをコピー処理して 入力フォームにテキストボックス1と2があり コピーした原紙とゆうワークシート名から テキストボックス1と2に入力した項目が 合わさってワークシート名に変更する方法はあるのでしょうか? 例)テキストボックス1に 123   テキストボックス2に 456 コマンドボタン1をクリックすることによって ワークシート名が123456となるようにしたいのですが? 宜しくお願いいたします。

  • エクセル:ワークシートを自動で生成&ワークシート名を自動で割り振り

    こんにちは はじめまして エクセルのワークシートを自動で生成するやり方を教えていただけますでしょうか。 やりたいことは以下の通りです。 何件かお店がありまして、毎日の売り上げ報告がファックスで本部に送られてきます。 そのファックスを見ながら、本部ではエクセルに入力し合計と累計を出すようにしています。 今現在は雛形ワークシートを一つ作り、手動でワークシートを30,31日分をコピーし、ブックには「店舗A2006年3月度分.xls」というようなブック名で保存してあります。 うちの会社は10日締めなので、3月で言うと、20060311から20060410(←数字は西暦)までのワークシートを作ります。 ワークシートのイメージとしてはこんな感じです。↓ シート名:店舗A.xls ワークシート名:「雛形」 ---------------------------- 当日の日付 商品A 単価 ○個 小計 商品B 単価 ○個 小計     ・     ・           当日の合計 ---------------------------- そしてこれの「雛形」を、自動で一か月分ワークシートをコピーするようにしたいのです。(今は手動でやってます) VBAの本を読んで、For~Next分を使うと、指定した枚数コピーできることはわかったのですが、ご承知の通り30日の月もあれば31日の月もありまして、これを計算で自動に判断するようにできないでしょうか? 欲を言えば、さらにそのワークシート名も自動で「A店舗20060311」というように日付ごとのワークシート名を入れられるようになると助かります。 もっと欲を言えば、各ワークシートの特定のセルに当日の日付を入れてるのですが(セル番地はどこでもいいです)、そこの日付も、ワークシート名と連動して自動で入れられると助かります。 長文になってしまいましたが、どなたか教えていただけると助かります。 よろしくお願いいたします。

  • エクセルで、ワークシート名をセルから参照する

    エクセルで、ワークシート名をセルに表示する方法は書いてありますが、セルの値をワークシート名とするにはどうしたらいいでしょうか。 つまり、 「ワークシート名 → セル」 ではなく、 「セルの値 → ワークシート名」 ということです。 現状、会社が変わると決算期が変わるため、決算期を変更する度にワークシート名を変えていますが、変わった都度ワークシート名を手で変更するのは手間が掛っています。 具体的には、例えば、 3月決算の会社のファイルは、4月シート、5月シート・・・ 12月決算の会社は、1月シート、2月シート・・・ のようにシート名を変えています。 そのため、セルに決算期を入力すると、自動で各ワークシート名も変更するようにしたいのですが、どうしたらいいでしょうか。 そういう関数はないようですし、マクロ・VBAの本等を見ても、よくわかりません。 宜しくお願い致します。

  • エクセルでワークシートを消した・・・・

    無理なんですかねー 非常に困った失敗をしました。 たくさんのワークシートのあるエクセルファイルの ワークシートを消して・・・ 上書きしてしまいました。 復旧させる方法はないでしょうか? エクセル2003です。 エクセルの2000までであれば、ワークシートを消す際に「一度削除すると元に戻すことはできません」と表示されますが、 2003だと表示されないので、もしかして・・・とかすかな希望をもって書いてます。 めちゃくちゃこまってます。 教えてくださいm(_ _)m

  • エクセルのワークシート挿入について

    どなたか教えてください。 エクセルでワークシートを増やしたくて、「挿入」から「ワークシート」をクリックすると、 「'ワークシート.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。[ファイル]メニューの最近使用したファイル一覧からファイルを開こうとしている場合は、そのファイルの名前が変更されていないこと、移動又は削除されていないことを確認してください」 というエラーメッセージが出てしまいます。何が起こってしまったのか良くわからないのですが、治りますか・・・? Windows2000を使用しています。PCはコンパックのものです。 宜しくお願いします。

  • エクセルワークシートを開く際について・・・

    エクセル初心者ため稚拙な質問お許しください。 エクセルワークシートで「名前を付けて保存」してあるファイルを開いている際、同様に別の「名前を付けて保存」してあるエクセルワークシートのファイルを、違うウィンドウで開くことはできるのでしょうか?できるとしたらどうすればいいのか、どなたかお知恵を拝借ください!

このQ&Aのポイント
  • 筆王が起動しないときに表示されるシステムエラー「MSVCP120.dllが見つからない」という問題について解決方法をまとめました。
  • 筆王を起動する際に「MSVCP120.dllが見つからない」というエラーメッセージが表示される場合は、解決するためには該当のDLLファイルをダウンロードしてインストールする必要があります。
  • ソースネクスト株式会社の製品である筆王が起動しない場合、MSVCP120.dllが見つからないというエラーが表示されることがあります。このエラーはDLLファイルの不足が原因で発生するため、DLLファイルを手動でダウンロードしてインストールすることで解決することができます。
回答を見る

専門家に質問してみよう