カレンダーの日付けを1つ飛びの列へ表示する為には | |
---|---|
[195359] カレンダーの日付けを1つ飛びの列へ表示する為には- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ パンダ -(2022/11/02(11:38)) □U R L/ こんにちは! いつも大変お世話になっております。 カレンダー作成を試みているのですが、下記のVBAですと曜日の下に 日付が表示されません。For文の所をどう改善したら良いのか苦戦しております。 ご教授頂けますようお願い致します。 Sub test() Dim Nen As Variant Dim tsuki As Variant Dim myDate As String Dim i As Integer, j As Long, k As Integer Dim cn As Long Dim myTitleD, myTitle(1 To 1, 1 To 14) Dim myTable(1 To 24, 1 To 14) Dim c As Range re = MsgBox("日付を変更しても宜しいですか?", vbYesNo + vbQuestion, "確認") If re = vbYes Then Nen = Application.InputBox("年", , Year(Now())) If Nen = False Then Exit Sub tsuki = Application.InputBox("月", , Month(Now())) If tsuki = False Then Exit Sub myTitleD = Array("日", "", "月", "", "火", "", "水", "", "木", "", "金", "", "土", "") cn = 1 For j = DateSerial(Nen, tsuki, 1) To DateSerial(Nen, tsuki + 1, 0) If Day(j) <> 1 And Weekday(j) = 1 Then cn = cn + 4 myTable(cn, Weekday(j)) = Format(j, "d") Next j With Worksheets("カレンダー") .Range("A:N").Clear .Range("A1").Value = DateSerial(Nen, tsuki, 1) .Range("A2").Resize(1, 14).Value = myTitleD .Range("A3").Resize(24, 14).Value = myTable End With End If End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195360] Re[1]: カレンダーの日付けを1つ飛びの列へ表示する為には- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2022/11/02(17:14)) □U R L/ >myTable(cn, Weekday(j)) = Format(j, "d") ↓ myTable(cn, (Weekday(j) - 1) * 2 + 1) = Format(j, "d") |
[195361] Re[2]: カレンダーの日付けを1つ飛びの列へ表示する為には- ■ / 記事引用/メール受信=OFF■ □投稿者/ パンダ -(2022/11/02(17:35)) □U R L/ こんにちは! 半平太さん先日も大変お世話になりました。 今回もご教授いただきましてありがとうございます。 私が myTable(cn, Weekday(j)) = Format(j, "d")を修正を試みても 上手く行きませんでした。 とても勉強になりました。ありがとうございました。 |
このトピックに書きこむ |
---|