電子書籍の厳選無料作品が豊富!

マクロ初心者です、office2000パーソナルでWindows Xpです。
エクセルでカレンダーを作ったのですが、1日の前に前月の日付を入れてフォントサイズを36にしたいのですが日曜日の28しかなりません。
RangeとCellsの使い方がまだよく理解できていません、もっと良い方法などアドバイスよろしくお願いします。

Sheets("1月").Select
Range("A3").Select
RE = 5 '一日の曜日位置(質問用)
NIT = 1 '列セット
NIS = RE - 1 '前月の記入日数
GYO = 3 '行セット
RET = RE - 1 'FOR用
HI = (31 - RE) + 2 '前月スタート日
For I = 1 To RET
Cells(GYO, NIT).Value = HI
Selection.Font.Size = 36
NIT = NIT + 1
HI = HI + 1
Next I

A 回答 (1件)

> Sheets("1月").Select


> Range("A3").Select
> RE = 5 '一日の曜日位置(質問用)
> NIT = 1 '列セット
> NIS = RE - 1 '前月の記入日数
> GYO = 3 '行セット
> RET = RE - 1 'FOR用
> HI = (31 - RE) + 2 '前月スタート日
> For I = 1 To RET
>   Cells(GYO, NIT).Value = HI
>   Selection.Font.Size = 36
>   NIT = NIT + 1
>   HI = HI + 1
> Next I

Range("A3").Selectのままになっています。

Cells(GYO, NIT).Value = HI
Selection.Font.Size = 36

Cells(GYO, NIT).Value = HI
Cells(GYO, NIT).Font.Size = 36
とすれば希望が叶います。

更に、Withステートメントで
With Cells(GYO, NIT)
  .Value = HI
  .Font.Size = 36
End With
とスッキリ纏める事ができます。
Range("A3").Select
の行は不要です。削除しても大丈夫です。

変数NITは、iで代用できます。
For i = 1 To ret
  With Cells(GYO, i)
    .Value = HI
    .Font.Size = 36
  End With
  HI = HI + 1
Next i
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます。うまくいきました。
それと今年の日付は各セルに書式設定で48としていたのですが、この方法で指定する事にします。本当に助かりました。

お礼日時:2008/12/27 13:46

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