
現在、「教えてGOO」でご指導をいただいて、ある簡易システム(エクセル)のVBA稼動中は「しばらくお待ちください」という表示シートを画面に固定しています。
そこに、月ごとの業務目標や忘れてはならないメッセージや季節のイラスト等を出したいので、次のようにしたいのです。
【やりたいこと】月が変わるとVBAで12枚用意したシート(つまり”ひとつき”に一枚のシート)を自動選択するようにしたいのです。(例)1月になると、「1月」、2月になると「2月」・・・というシートという風に・・・。
ご指導、よろしくお願いします。
No.4
- 回答日時:
標準モジュールの中に下記のコマンドを記入すれば、
エクセルファイル起動と同時に○○月のシートが
オープンされますよ。
ただし、シート名に半角で”12月”にのように
記入してください。(実験済み)
ただし、1月などは”01月”などと記入しなくては
いけないかも知れません。
(分からなくてごめんなさい)
Sub auto_open()
Dim TukiMei As Integer
TukiMei = Month(Date)
Worksheets(TukiMei & "月").Select
End Sub
この回答への補足
ご回答ありがとうございます。
起動時のシート表示でなく、マクロ稼動時の指定シート表示について、たとえば、12月25日(クリスマス)を過ぎれば、”年末年始に向けての業務注意事項等”を含めた業務メッセージ(例:デイルームの正月飾りつけの準備はできていますか?)や遊び心もいれたイラストなどが入ったシート表示をイメージしています。#2さんのご回答が理想に近く、日付をからめたいのです。よろしくご指導お願いいたします。
No.3
- 回答日時:
こんにちは。
yastaroさん。 Wendy02です。>月ごとの業務目標や忘れてはならないメッセージや季節のイラスト等を出したいので
それらは、Excelブックに、それらのデータを抱えるのではなく、別に作っておいて、UserFormで出せばよいと思います。
>(つまり”ひとつき”に一枚のシート)を自動選択するようにしたいのです。(例)1月になると、「1月」、2月になると「2月」・・・というシートという風に・・・。
本当に、月で換わってよいのなら、#1さんのコードは似ていますが、こういうことでしょうね。
Private Sub Workbook_Open()
Dim myMonth As Integer
myMonth = Month(Date)
Worksheets(CStr(myMonth) & "月").Select
End Sub
業務でも、それは、経理関係ばありませんね。経理関係なら、ちょっと、そういうことはありませんから。
この回答への補足
Wendy02さん、こんにちは。いつもありがとうございます。
申し訳ありません。私のレベルではご指導いただいた”UserForm”の使い方さえ理解できませんでした。また、いただいたコードは「ブックを開いた時」というものでしょうか?マクロ稼動中にというときの画面表示に運用できませんでした。いくら私が素人にしてもこうもいつもいつもWendy02さんのご回答に追いついていけないと少し落ち込みます^^;あとおっしゃるように経理システムではありません。鋭いですね^^
No.2
- 回答日時:
こんな程度で良いのかな?
Sub AutoSelct()
Dim sh As String
Select Case Month(Date)
Case 1: sh = "1月"
Case 2: sh = "2月"
Case 3: sh = "3月"
Case 4: sh = "4月"
Case 5: sh = "5月"
Case 6: sh = "6月"
Case 7: sh = "7月"
Case 8: sh = "8月"
Case 9: sh = "9月"
Case 10: sh = "10月"
Case 11: sh = "11月"
Case 12: sh = "12月"
End Select
Sheets(sh).Activate
End Sub
この回答への補足
申し訳ありません。あとで気がついたのですが、行事がらみで、たとえばクリスマスを過ぎたら別の業務メッセージに変えたいということがあります。つまり、月単位だけでなく、日付も絡めたいのです。たとえば12/25を過ぎたら「12月(2)」のシートへ、などと組み合わせるには?というコードについてもご指導いただけますでしょうか?よろしくお願いいたします。
補足日時:2005/12/08 18:14hana-hana3さん、ありがとうございます。動作を確認できました。私のイメージ通りです^^。以前からご指導いただいていますこともあわせて、感謝いたします。ありがとうございました。
No.1
- 回答日時:
はじめまして。
VBAのThisWorkBookのところに下記を記入すれば
OKです。
Private Sub Workbook_Open()
Dim lMonth As Long
lMonth = Month(Date)
Excel.Sheets(lMonth).Select
End Sub
はじめまして。scheimpflugさん。まずは、ご回答いただきましたことを心からありがとうございます。
ただ、いただいたコードの運用ができませんでした。おそらく私が初心者であるための理解不足のせいかと思います。お許しください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで、月によって参照するシートを自動的に変える関数
Excel(エクセル)
-
VBA 入力月で該当シートを選択する方法
Visual Basic(VBA)
-
エクセルVBA:毎月名前が変わるエクセルファイルを毎月異なるフォルダから開く
その他(コンピューター・テクノロジー)
-
-
4
月が変わったら自動でシートが複製される方法を教えてください。
Visual Basic(VBA)
-
5
VBA シート名を先月の名前にしたい
Excel(エクセル)
-
6
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
7
月毎に参照するセルを変更したい。
Excel(エクセル)
-
8
シートを追加・名前を次月に変更、前月内容を貼り付け
Excel(エクセル)
-
9
TODAY()で設定したセルの日付が変わったらマクロを実施させたい
Visual Basic(VBA)
-
10
参照するシートを月ごとに変更したい
Excel(エクセル)
-
11
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
12
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
13
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
14
VBA 前月の月の名前でブックを保存
その他(Microsoft Office)
-
15
シート名が変わる場合のVBAの設定の仕方
Excel(エクセル)
-
16
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
17
Excelでシートに年月を自動で変更するやり方
Excel(エクセル)
-
18
エクセルマクロで不特定なファイル名を使用するには
Excel(エクセル)
-
19
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
20
VBAでセルに入っている日付をシート名にする
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:VBAで月変わりで、自...
-
Excelマクロで空白セルを詰めて...
-
Excel で行を指定回数だけコピ...
-
エクセルVBAで SendKeys "{TAB}"
-
エクセル2007で、マクロで、結...
-
データ入力シートから別シート...
-
VBAで複数シート選択
-
エクセルVBAで 2種のリストを...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
エクセルVBA 別シートの複数の...
-
スマホ機種変更で旧機種のGoogl...
-
機種変更時にデータは見られる?
-
ノートパソコンの画面表示が横...
-
拡張子「.HUF(.huf)」のファ...
-
外付けHDDをフローリングに落と...
-
ストレージが減りません。 スト...
-
携帯会社が確認もなしにデータ...
-
メールボックスがない時はどう...
-
携帯電話の画面が出てこない・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロで空白セルを詰めて...
-
Excel で行を指定回数だけコピ...
-
Excel VBA インデックスの境...
-
VBA:同じ文字列データの比...
-
excelの差込印刷で可視セルだけ...
-
エクセル:VBAで月変わりで、自...
-
VBAで条件が一致する行のデータ...
-
VBA 貼付先範囲(行)がいっぱ...
-
VBAでのシートの色が
-
複数ブックの複数セルの抽出教...
-
エクセルVBAで 2種のリストを...
-
【WORD差し込み印刷】複数レコ...
-
別シートから検索値に一致した...
-
Excelマクロ データが上書きさ...
-
ExcelVBA、印刷ページを事前に...
-
VBA別シートの最終行の下行へ貼...
-
エクセルでデータの検索
-
Excel VBAでシート内全体に非表...
-
[EXCEL]全てのチェックボックス...
-
VBA 最終行取得からの繰り返し貼付
おすすめ情報