プロが教えるわが家の防犯対策術!

現在マクロで最終行から検索して上に向かって作業をしていますが、先頭行から最終行までにしたい。マクロの改造を教えて貰えませんか。
Dim i As Long '  i=在庫シート行 変数
Dim LastRow As Long

'最終行
LastRow = Cells(Rows.Count, 3).End(xlUp).Row

'行をループ
For i = LastRow To 5 Step -1 '4 行タイトル行 5-1=4
If Cells(i, 17) > 0 Then

' 差し引きが0か? 全在庫売却=コピーして削除 一部売却=コピーして在庫減算


'行をコピーする。

Sheets("取引履歴").Activate

n = Cells(Rows.Count, "C").End(xlUp).Row + 1

Sheets("在庫").Activate

' 値でコピーする

Range(Cells(i, 2), Cells(i, 26)).Copy
Sheets("取引履歴").Cells(n, 2).PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' lPasteValues

If Cells(i, 8) - Cells(i, 17) = 0 Then

'全在庫売却-------------------------------------------------


Rows(i).Delete 'i行目を削除

'一部売却------------------------------------------------


'一部クリア


Sheets("在庫").Activate


Cells(i, 8).Value = Cells(i, 8) - Cells(i, 17)


ActiveSheet.Range(Cells(i, 16), Cells(i, 26)).SpecialCells(xlCellTypeConstants, 23).ClearContents

End If

End If

Next i

End If


Exit Sub

End Sub

A 回答 (1件)

For i = LastRow To 5 Step -1 '4 行タイトル行 5-1=4



最終行から5行目まで -1 しながらループするという処理なのでここを変える。

For i = 5 To LastRow

これで、5行目から最終行まで +1 してループする、となります。
「+1」の場合は「Step 1」は省略できます。
    • good
    • 0
この回答へのお礼

ありがとうございました。早速回答の通りで上手くいきました。

お礼日時:2022/05/17 19:09

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A