- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
8#
發表於 2016-8-4 10:48
| 只看該作者
回復 6# jim
附上一個實務範例,供參考:
- Sub 換月()
- Dim cts As Integer, xs As Integer
- Dim rng As Range, lDate As Date
- Dim 年 As String, 月 As String
-
- With Sheets("XXXXXX")
- For xs = 0 To 2
- ' 將 H1:AL2、H18:AL19、H35:AL36 範圍內之資料清空。
- .Range("H" & (xs * 17 + 1) & ":AL" & (xs * 17 + 2)).ClearContents
- ' 設定 rng 為 H1、H18、以及 H35 欄位。
- Set rng = .Range("H" & IIf(xs < 3, xs * 17 + 1, 63))
- For cts = 1 To Day(DateSerial(年, 月 + 1, 0)) ' 取得該月天數
- rng.Offset(, cts - 1) = cts
- ' H1、H18、以及 H35 欄位值為幾號;並依序往右延伸。
- lDate = DateSerial(年, 月, cts)
- ' H2、H19、以及 H36 欄位值為星期幾;並依序往右延伸。
- rng.Offset(1, cts - 1) = Right(WeekdayName(Weekday(lDate)), 1)
- Next cts
- Next xs
- End With
- End Sub
複製代碼 |
|