トップページ > プログラム > 2015年10月26日 > Qg+0FyiQ

書き込み順位&時間帯一覧

11 位/146 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000001113



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
550 :デフォルトの名無しさん[sage]:2015/10/26(月) 21:25:03.69 ID:Qg+0FyiQ
データの一覧の中から重複するものを持つ行を削除する二重ループなのですが

With Range(sWB.Worksheets(WORKING_SHEET).Cells(DATA_CELL, lastCol +
1).Address)
For j = (.CurrentRegion.Rows.Count - 1) To 2 Step -1
For k = j - 1 To 1 Step -1
If .Offset(j, 0) = .Offset(k, 0) Then
.Offset(k, 0).EntireRow.Delete
End If
Next k
Next j
End With

これでまわすと、一番上の行が重複していても削除されません
entireRow.deleteで消されることでどのように変わるのかがわかっておらず
どのように修正するのか教えていただけませんか
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
552 :デフォルトの名無しさん[sage]:2015/10/26(月) 22:45:25.01 ID:Qg+0FyiQ
んー、offsetのイメージがまだよく付いていないのです
一番最後にいったらj : 2 , k : 1 で、最後の行(=一番上の行)が判定されて
deleteされると思ってたのです

いただいた修正点ありがとうございます。なんで-1してるのかよくわかっておらず
もう少しご教示いただけると
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
554 :デフォルトの名無しさん[sage]:2015/10/26(月) 23:31:26.74 ID:Qg+0FyiQ
なるほど。そういうことですか
見直します、ありがとうございます


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。