こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセル2003

エクセル2003で勤務表を作ったのですが同じ形状のシートを1ヶ月分(ワークシート30枚)を一つのブックに保存しています。
それぞれシート名を日付にしているのですが本当の日付と関連付ける事は可能でしょうか?
例えば15日にエクセルのこのブックを立ち上げるとシート15が開き、次の日(16日)にこのブックを開くとシート16が一番に開くようにしたいです…何か方法があれば宜しくお願いします。

投稿日時 - 2007-06-25 17:25:56

QNo.3114804

暇なときに回答ください

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

エクセルマクロ(VBA)はわかりますか?

ThisWorkBookに下記のマクロを埋め込めば可能です。

sSheetName変数の書式はあわせてください。
とりあえず、該当シート名が「"シート"+日」で開くように書いてあります。
また、該当シートがない場合は、保存したとき開いていたシートを開きます。

Private Sub Workbook_Open()
Dim shtSheet As Worksheet
Dim sSheetName As String

'日が半角数字の場合("シート"+半角の日)
'sSheetName = "シート" & DateTime.Day(Now)
'日が全角数字の場合("シート"+全角の日)
sSheetName = "シート" & StrConv(DateTime.Day(Now), vbWide)

For Each shtSheet In Me.Worksheets
If shtSheet.Name = sSheetName Then
shtSheet.Activate
Exit For
End If
Next
End Sub

投稿日時 - 2007-06-25 18:23:26

補足

何度もすみません!!
できました!!よく見直すとDAYがDATEになってました!!
本当ありがとうございました!!
これで明日から楽ができてさらにみんなのミスも減ります。
本当ありがとうございました!!

投稿日時 - 2007-06-27 01:38:59

お礼

すばやい回答ありがとうございます!
さっそく試してみたんですがマクロがうまくいきません…
デバックしてみるとどうも
If shtSheet.Name = "勤務表" & DateTime.Date(Now) Then
この部分に間違いあがあるようなんですが僕の知識じゃどこが間違ってるのか分かりません。失礼ですがどこが駄目なのか時間が空いてる時でいいので教えて頂ないでしょうか?何度も本当にすみません。
シート名は勤務表24 ←(半角)
みたいな感じです… 

投稿日時 - 2007-06-27 01:28:15

あなたにオススメの質問