- 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 - なるほど。そういうことですか
見直します、ありがとうございます
|
|