社会人&学生におすすめする色彩検定の勉強術

似たような質問は他にもありましたが、希望とするものではないので新たに質問させてください。

当方MacのExcel2011を使用しています。

表題の通りなのですが、連続した日付+曜日をシート名とセルに表示をさせた、1ヶ月分のシートをつくりたいのです。

1シートづつ日付と曜日を入力するのは大変疲れるので、効率よくできれば・・・嬉しいです。

何卒宜しくご教示ください。

教えて!goo グレード

A 回答 (3件)

日付をどのセルに入れるのかということと、1ヶ月分というのが今日から1ヶ月分なのか今月1ヶ月分なのか指定の月一ヶ月分なのか、シートタブ上の日付の表示形式はどうしたいのか、雛形となるシートが存在するのかどうか、表示のシートがあるのかどうかで細部は変わります。



雛形として存在する一つ目のシート名が今日の日付として作成されているとして、その一つ目のシートをコピーして、翌日から1ヶ月分のシートを追加作成。その際、それぞれのシートでは、一つ目のシートのアクティブなセルのセル番地と同じセル番地にシート名と同じ日付が入力されます。


Sub シート名に今日の日付を追加する()
Dim dt
dt = InputBox("対象日付をyyyy/mm/dd形式で入力してください", "yyyy/mm/dd", Date)
If Not IsDate(dt) Then
MsgBox "yyyy/mm/ddの形式で入力してください。" _
& vbCrLf & "処理を中止します。", vbCritical
Exit Sub
End If

For i = 2 To 31
dt = DateAdd("d", 1, dt)
Worksheets(1).Copy after:=Worksheets(i - 1)
With Application
Worksheets(i).Name = .Text(dt, "mm月dd日(") & .Text(dt, "aaa)")
End With
Next

Dim シート As Worksheet
Worksheets.Select
For Each シート In ActiveWindow.SelectedSheets
シート.Range(ActiveCell.Address).Value = シート.Name
Next シート
Exit Sub
End Sub
    • good
    • 7
この回答へのお礼

ありがとうございます!!!!!!!!!!
すごい!!!!
一発で問題解決しました♡
助かりましたm(__)mm(__)m
本当にありがとうございます。

お礼日時:2016/07/21 10:06

失礼


× 表示のシートがあるのかどうかで細部は変わります。
○ 非表示のシートがあるのかどうかで細部は変わります。

#1のプロシージャは非表示のシートがあるとエラーで止まります。
    • good
    • 0
この回答へのお礼

ありがとうございます!
又の機会がありましたらよろしくお願いします。

お礼日時:2016/07/21 10:08

複数のシートに「日付+曜日」の連続した名前を付けたい。


またそのシート名を任意のセルに表示させたい。

…と言う質問でしょうか?

マクロを使って設定することになります。
組んでもらったマクロを使うよりも、いますぐ手で入力したほうが早く終わると思います。

・・・
自分なら適当なシートに連続した日付を入力してそれをTEXT関数で文字列に変換します。
そしてそのセルをコピーして「値として貼り付け」し、
さらに「値として貼り付け」した値をコピーしシートの名前に貼り付けます。
 =TEXT(A1,"yyyy年mm月dd日 (aaa)")
こんな感じの関数式。
    • good
    • 3
この回答へのお礼

ありがとうございます!
#1の方の方法で一発解決しました!

お礼日時:2016/07/21 10:08

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

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

教えて!goo グレード

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

人気Q&Aランキング