2017-10-10 10 views
0

VBAを使用して、ヘッダー値に基づいてデータの列を削除しようとしています。私は間違いなくこれに初心者なので、どんな助けにも感謝します。現時点では、マクロを実行するたびに列の一部を削除するが、列の一部をスキップするように見える場合を除いて、これを行うコードを見つけることができました。列が削除されると列が新しい場所に移動するため、F5が削除され、G5がF5に移動してからクエリをエスケープするためです。これはコードですヘッダー値に基づいて列を削除し、列をスキップしません。 VBAの使用

+1

ループ内のインデックス変数を列番号に基づいて使用し、後ろにループします。 – SJR

答えて

0

これは古典的な問題です。行または列を削除する場合は、必ず最後から削除を開始してください。

Sub DeleteSpecifcColumn() 
    For i = 4 To 1 Step -1 
     If Cells(1, i) = "old" Then 
      Cells(1, i).EntireColumn.Delete 
     End If 
    Next i 
End Sub 
+0

イムランにありがとうございます - その答えでとても嬉しいです。私はしばらくこのことに固執しています。 :) –

関連する問題