範囲(dateRng)の日付が今日の日付よりも小さいかどうかを確認するアクションを実行しようとしています。列の値はゼロです。 (私はローンを払っていますが、毎月、払い出されたローンを隠すことを望んでいます。)月間は列を横切っており、ローンは列に並んでいます。貸出残高は(i、j)です。forループからif文vbaへのブレーク
問題は、forループが終了し、新しい「j」(列)のたびに日付をチェックすることがないということです。それは単にforループのままです。私は休憩を試みました、終了してください、など、どこにでも、私はそれらを置く場所では動作しないようです。どうすれば '今日'と比較して日付をチェックするのか、列の各セルをチェックするためにforループを実行してから列2に移動して日付をチェックし、同じforループを実行します。
コードを動的にするのは良いことですが、毎月コード内の範囲を変更するだけで済みます。これは私の個人的な使用のためのものです。どんな助けもありがとうございます。ありがとうございました。
Sub hidePaid()
Dim day As Range, loanRng As Range, loanSum As Worksheet, dateRng As Range, cel2 As Range, i As Long, j As Long, col As Range
Set loanSum = ThisWorkbook.Worksheets("Loan Sum")
loanSum.Activate
Set dateRng = ActiveSheet.Range("D2:R2")
Set loanRng = ActiveSheet.Range("D4:R16")
For Each day In dateRng
If day.Value < Date Then
For j = 1 To loanRng.Columns.Count
For i = 1 To loanRng.Rows.Count
If loanRng.Cells(i, j).Value < 1 Then
loanRng.Cells(i, j).EntireRow.Hidden = True
End If
Next i
Next j
End If
Next
End sub
うまくいった!どうもありがとうございます! – aoman49