[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
23: 2015/07/02(木)11:43 ID:mBr3NkR3(1/2) AAS
>>18
年と月が指定されればその月の日数は求められるよ
(月だけだとうるう年があるから2月に対応出来ない)

具体的やり方は複数あるだろうけど
例えばDateserial関数で指定月の翌月のゼロ日(ツイタチの前日)を求めれば出る

2015年7月の日数を求めたらこんな感じ

Sub Test()
Dim 年指定 As Long
Dim 月指定 As Long
Dim 日数 As Long
年指定 = 2015
月指定 = 7
日数 = Day(DateSerial(年指定, 月指定 + 1, 0))
End Sub
26: 2015/07/02(木)16:13 ID:mBr3NkR3(2/2) AAS
>>25
こんなんでどう?
対象のワークシートと年、月、を引数に指定してコールすれば
対象のシートのA列に日付、B列に曜日を書き込むよ
年と月は省略可能で、省略すると当日の年・月を指定したとみなして処理を実行するよ

Sub test(sh As Worksheet, Optional ByVal yr As Long = 0, Optional ByVal mo As Long = 0)
Dim i As Long
Dim cnt As Long
If yr = 0 Or mo = 0 Then
yr = Year(Date)
mo = Month(Date)
End If
cnt = Day(DateSerial(yr, mo + 1, 0))
With sh
 .Cells.ClearContents
 .Columns(2).NumberFormatLocal = "aaa"
For i = 1 To cnt
.Cells(i, 1) = i
.Cells(i, 2) = Weekday(DateSerial(yr, mo, i))
Next i
End With
End Sub
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.050s