アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、「教えてGOO」でご指導をいただいて、ある簡易システム(エクセル)のVBA稼動中は「しばらくお待ちください」という表示シートを画面に固定しています。
そこに、月ごとの業務目標や忘れてはならないメッセージや季節のイラスト等を出したいので、次のようにしたいのです。

【やりたいこと】月が変わるとVBAで12枚用意したシート(つまり”ひとつき”に一枚のシート)を自動選択するようにしたいのです。(例)1月になると、「1月」、2月になると「2月」・・・というシートという風に・・・。

ご指導、よろしくお願いします。

A 回答 (5件)

>たとえば12/25を過ぎたら「12月(2)」のシートへ、



いくつかの方法がありますが・・・

Case 12: sh = "12月"
If Day(Date) >= 25 Then sh = "12月(2)"
End Select

のように書くことも出来ます。
    • good
    • 1
この回答へのお礼

hana-hana3さん、再三にわたるご指導ありがとうございました^^
動作確認できました。今度こそ理想どおりです。
本当にありがとうございました。

お礼日時:2005/12/09 09:03

標準モジュールの中に下記のコマンドを記入すれば、


エクセルファイル起動と同時に○○月のシートが
オープンされますよ。
ただし、シート名に半角で”12月”にのように
記入してください。(実験済み)
ただし、1月などは”01月”などと記入しなくては
いけないかも知れません。
(分からなくてごめんなさい)

Sub auto_open()
Dim TukiMei As Integer
TukiMei = Month(Date)
Worksheets(TukiMei & "月").Select
End Sub

この回答への補足

ご回答ありがとうございます。
起動時のシート表示でなく、マクロ稼動時の指定シート表示について、たとえば、12月25日(クリスマス)を過ぎれば、”年末年始に向けての業務注意事項等”を含めた業務メッセージ(例:デイルームの正月飾りつけの準備はできていますか?)や遊び心もいれたイラストなどが入ったシート表示をイメージしています。#2さんのご回答が理想に近く、日付をからめたいのです。よろしくご指導お願いいたします。

補足日時:2005/12/08 19:16
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。#5さんのコードで希望内容が解決しました。お世話になりました^^

お礼日時:2005/12/09 09:04

こんにちは。

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さんのご回答に追いついていけないと少し落ち込みます^^;あとおっしゃるように経理システムではありません。鋭いですね^^

補足日時:2005/12/08 17:12
    • good
    • 0
この回答へのお礼

Wendy02さん、ありがとうございました。
ご指導内容は勉強して無駄にしないように努力します。心より感謝申し上げます。

お礼日時:2005/12/09 09:06

こんな程度で良いのかな?



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:14
    • good
    • 0
この回答へのお礼

hana-hana3さん、ありがとうございます。動作を確認できました。私のイメージ通りです^^。以前からご指導いただいていますこともあわせて、感謝いたします。ありがとうございました。

お礼日時:2005/12/08 15:27

はじめまして。


VBAのThisWorkBookのところに下記を記入すれば
OKです。

Private Sub Workbook_Open()

Dim lMonth As Long
lMonth = Month(Date)

Excel.Sheets(lMonth).Select

End Sub
    • good
    • 0
この回答へのお礼

はじめまして。scheimpflugさん。まずは、ご回答いただきましたことを心からありがとうございます。
ただ、いただいたコードの運用ができませんでした。おそらく私が初心者であるための理解不足のせいかと思います。お許しください。

お礼日時:2005/12/08 17:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A