アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております
fujillin様
おしえてくれませんでしょうか
Application.Max(.Cells(Rows.Count, 6).End(xlUp).Row - 2, 1)
の部分ですが、
最後の ,1 の部分の意味おしえてくれませんでしょうか




Sub sample()
Dim T(1 To 12), v, m
Dim shtNo As Long
Dim i As Long, n As Long
Const shtName = "集計"

For shtNo = 1 To 3
With Worksheets(shtNo)
If .Name <> shtName Then

n = Application.Max(.Cells(Rows.Count, 6).End(xlUp).Row - 2, 1)
v = .Cells(3, 6).Resize(n).Value
For i = 1 To n
m = v(i, 1)
If IsDate(m) Then T(Month(m)) = T(Month(m)) + 1
Next i

End If
End With
Next shtNo

Worksheets(shtName).Range("C3:N3").Value = T
End Sub

A 回答 (1件)

【.Cells(Rows.Count, 6).End(xlUp).Row - 2】



【1】
の最大値(Max)を取るということです。


【.Cells(Rows.Count, 6).End(xlUp).Row】 (← 「-2」を省いてます)
は、6列目(F列)の最終行から上方向へ、最終入力のあるセルを探しています。
仮に6列目(F列)の入力が全く無ければ、「1」が返ってきます。

これを「-2」すると、
n=-1に
なっちゃいますよね。

その後に続く Resize(n)等、nを用いる箇所で不具合が出るのを避ける目的で、
n が取りうる最小値を「1」にするため、Max関数を用いて処理しています。

イメージをわかりやすく書いちゃうと
=MAX(【F列の最終入力行 -2】,1)


それから、指名しての質門はNGですよ。
個人間のトークになっちゃうので。
    • good
    • 0
この回答へのお礼

ありがとうございました。
このコード とても 奥が深いです。
ありがとうございました。
m = v(i, 1) の部分なるほどです

お礼日時:2021/12/18 21:43

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