2016-05-25 4 views
-3

赤い見出しのファイルがありますが、VBAコードを使用して列全体を削除しますか? ループを使用して赤い見出しを見つけ、Column Countrtではなく列を削除できますか?VBAで赤い見出しが付いている列を削除するには

+1

はい、列をループして、fillColor(または正確には何か)を比較し、赤色の列全体を削除することができます。しかし、私はあなたがもっと多くの情報を提供しなかった場合、誰もあなたを助けませんと思っています –

+0

あなたのシートがどのように見えるかを見ることができるようにスクリーンキャプチャを貼り付けることができますか? – ib11

+1

ちょうど見出しをループし、赤いものを削除してください.'If TargetRange.Interior.ColorIndex = 3 Then TargetRange.Delete End If ' – flohdieter

答えて

1

************もColumns(ICntr).Delete

************* EDITにColumns(ICntr).EntireColumn.Deleteを変更Cells(1,ICntr).Font.ColorIndex間のラインIf Cells(1,ICntr). Font.ColorIndex = 3 Thenにスペースを削除します:
見出しにデータ/テキスト(最初の列のセル)があると仮定すると、このマクロはトリックを行います。 ROWSまたはCOLUMNSをループして削除するときは、ループを常に逆にして、すべての行または列がチェックされていることを確認してください。

Sub DeleteColumnsWithRedHeader() 

Dim ws As Worksheet 
Dim lColumn As Long 
Dim i As Long 

'Change to you sheet name!!!!!!!!!!!!! 
Set ws = Sheets("YOUR_SHEET_NAME") 

'This will give you the last column index with data 
lColumn = ws.Cells(1, Columns.Count).End(xlToLeft).Column 

'Loop through all column with data - REVERSE LOOP TO CHECK ALL COLUMNS 
For i = lColumn To 1 Step -1 

    'If first cell in column is RED then delete that column 
    If ws.Cells(1, i).Interior.ColorIndex = 3 Then ws.Columns(i).Delete 

Next i 

End Sub 
+1

これは元の質問への答えではありませんが、新しい質問へのコメントは答えとして投稿されました。 –

関連する問題