• ベストアンサー

エクセル:ブックを開くとき、自動で任意のシートで開きたい。

よろしくお願いします。 ある、エクセルファイル(ブック)に、 「月」、「火」、「水」、・・・(←「 」内はシート名)、というシートをあらかじめ、作っています。 そのエクセルファイルを開くとき、そのファイルを開く当日が、 月曜日ならば、「月」、 火曜日ならば、「火」、 水曜日ならば、「水」・・・ というように、自動でそのシートを出すように開きたいのです。 マクロだと思いますが、ご指導をお願いいたします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

はい、マクロになりますね。 1.Altキー+F11キーでVBE画面を出します。 2.メニューの挿入、標準モジュール 3.以下をコピーペ Sub Auto_Open() Dim wd As String wd = Left(WeekdayName(Weekday(Date)), 1) Sheets(wd).Activate End Sub 以上です。

yastaro
質問者

補足

ご回答ありがとうございます。 できました。驚きです^^バッチリです。 なんてシンプルなVBAでできるのでしょう。感動です。 少し内容(VBAの意味)を勉強したいのですが、 たとえば、今回のように週ではなく、 1月には「1月」、2月には「2月」という あらかじめ作られたシートを開く方法もご指導お願いできないでしょうか?よろしくお願いいたします。

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

その他の回答 (3)

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

#2です。補足について Private Sub Workbook_Open() sn = Format(Month(Date), "0月") MsgBox sn Worksheets(sn).Activate Range("A1").Select End Sub

yastaro
質問者

お礼

さっそくの補足をありがとうございます。 いろいろな方法、コードがあってどう勉強に手をつけていいのかわからない面があります。 でも、今回もとっても勉強させていただきありがとうございました。今後ともご指導お願いいたします。 先着順のポイント発行になりましたことをあわせてお詫びさせていただき、心からの御礼を申し上げます。

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

No1です。 > 1月には「1月」、2月には「2月」という > あらかじめ作られたシートを開く方法もご指導お願いできないでしょうか はい、どうぞ。 Sub Auto_Open() Dim m As String m = Format(Date, "m月") Sheets(m).Activate End Sub

yastaro
質問者

お礼

ご回答に引き続き早速の補足をありがとうございます。少しコードの意味が分かってきました。今後ともご指導お願いいたします。

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

Private Sub Workbook_Open() sn = Format(Date, "aaa") MsgBox sn Worksheets(sn).Activate Range("A1").Select End Sub でやってみると、それらしく動く。 しかし、例えば土曜日は1回ではない。次の土曜には、同じ「土」 シートが開けばよいのかな。このブックには月ー土(日)まで1つずつのシートしかないのかな。 その辺の事情によっては、複雑化する。

yastaro
質問者

補足

ご回答ありがとうございます。 ご指摘の通り、毎回、土曜日に同じ土曜シートが開けばよいという設定です。 また、もしよろしければ、応用編として、 1月には「1月」 2月には「2月」というあらかじめ作成されたシートが開く同様のマクロも教えていただけないでしょうか? よろしくお願いいたします。

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

関連するQ&A

  • エクセルに複数のシートがあり背景をなんとかしたい。

    エクセルにシートが7つあります。 シート名は「月」「火」・・・「日」 となっていますが、7つのシートの中 身(表)は同じ物です。 月曜日なら「月」に火曜日なら「火」に 入力していくだけです。 開いたシートをみると、何曜日のシート なのか、表の中に書いていあるタイトル をみるかシート名をみるしか解りません。 そこで、パッと見シートの背景に大きく 「月」とか「火」とか書いてあればわか りやすいなと思いました。 質問1 エクセルにそんな機能ってありますか? あればどのようにやるのか教えて下さい。 質問2 あるいはパソコンの日付から判断して エクセルを開いたときに自動的に月曜 日なら「月」のシートが表示されるよ うにあればありがたいです。

  • エクセルの関数について

    エクセルに詳しくないので関数に強い方宜しくお願いいたします。 シート1の1行目に月・火・水・木・金・土・日と曜日を入れ、2行目にその曜日に合わせた月曜日が「3」、火曜日が「9」、水曜日が「4」など決まった数字を入れるとします。 シート2に月間の7/1から7/31で水曜日から始まる表を作り、その下の行にシート1に入れた7/1(水)だったら「4」、7/2(木)なら・・・と数字が表示されるような関数はあるでしょうか?

  • エクセル シート自動作成

    A1に2016年、B1に8月などと入力した時 A2~A15に日付を自動出力 B2~B15に曜日を自動出力 C2~C15に文字列&日付で自動表示するファイルを作成しました A1 2016年 B2 8月 A列  B列  C列 1日 月曜日 名前8月1日 2日 火曜日 名前8月2日 3日 水曜日 名前8月3日 ・ ・ C列のC2~C15の名前でシートを自動的に作成出るようにしたいのですが たとえばボタンを作成しボタンを押したときにシートが自動的に作成される または年と月を入れた際に自動的にシート作成されるようにしたいのですが さらにシートは原本を作っているのでそれをもとにコピーされるように したいのですが? どうすればいいでしょうか? お手数ですが宜しくお願いします。

  • Excelのシート→ブック

    Excelのシート→ブック Excelに複数のシートがある状態です。 そのシートを個別のファイル名=シート名で一発で個別のブックにする方法はありますか?

  • 複数シート日付自動入力

    エクセルで日報を作っております、1日から31日までの31枚のシートがひとつのブックの中にあり1日のシートのA1のセルに”1月1日”と入力すれば後の30枚のシートに自動で入力できる関数もしくはマクロがありませんでしょうか、曜日も表示したいです。

  • Excelシートの自動コピーでマクロを使いたい

    表題通り、Excelシートの自動コピーをマクロを使って行いたいのですが、 マクロやVBAの知識が全くないため、どなたかコードを教えていただけないでしょうか。 まず今現在、B1セルに9月1日と日付を入れ、シート名を1日としたものがあります。 これを自動で複製して、B1セルの日付を9月2日 9月3日… シート名を2日 3日…となるように、日毎ごとの一ヶ月分のシートを作り ひとつのbookにしたいと考えております。 また、その際に、B1セルとシート名の日付が日曜・祭日に当たる場合、 シート名に色を付けたいと思っています。 (因みにB1セルの日付はシリアル値で入れていて、 書式で○月○日となるように表示していて、日付が日曜・祭日に当たる場合は 赤文字になるよう、別シートに祝日リストも作って 条件付き書式で設定してあります。) Excelの関数は使えても、マクロは全く分からないので どうかよろしくお願い致します。

  • エクセルで各シート毎にブックに分割したい

    エクセルの1つのブックに複数の名前がついたシートがあり、その各シート毎にシート名のブックに分割したいのです。 シートが少なければ手作業で分割するのですが、100枚近くのシートがあるので、できればマクロで一括処理できれば助かるのですが。 過去ログで複数のブックのシートを一つのブックにまとめる事例がありましたので、その逆もできると思うのですが。 よろしくお願いします。

  • エクセル:複数ブックから任意のシートを選んで結合

    お世話になります。 複数のブックをひとつにまとめるという質問は過去にもたくさんあったのですが次の場合の対処がわかりませんでしたので教えてください。 なお手動でやるのではなく、マクロやフリーソフトなどで自動化したいと思っています。 1つのフォルダに複数のブックがあり、各ブックには複数のシートがあります。各ブックの先頭シート(一番左のシート)だけを1つのブックにまとめたいのです。 現在、各ブックの先頭シート(一番左のシート)の名前には「人の名前」が入っています。 1つにまとめるブックを 全員.xls として、このブックの各シートに各ブックの先頭シート(一番左のシート)の名前(人の名前)をつけて保存したいのです。 結合する際に「人の名前」のようにシート名が違うことが問題になるならば、すべてのブックのSheet1だけをまとめるというやり方でも構いません。 この場合、全員.xlsの各シート名は適当でも良い。 よろしくお願いします。

  • 二つに別れたbookを一つのBOOKのシートに?

    エクセルで作った二つのファイルがあります。 これを一つのファイル(ブックというのかな)にして Sheet1とSheet2 に入れたい

  • bookを開けると本日の日付が入力されているようにしたい

    あるエクセルbookを開けると、本日の日付が自動で入力されているような設定はできますでしょうか? 例えばデーターという名前のエクセルbookを開けると、ワークシートsheet1のA1とsheet2のB2に2008年 8月 19日 火曜日(本日の日付)が既に入力されているという感じです

専門家に質問してみよう