0

私はExcelで作業しており、セルの値が10列以上の範囲でxの場合、列を削除しようとしています。行を削除するため、データのフィルタリングは機能しません。そのため、指定した行のセルに値 x が含まれるすべての列を選択する必要があります。マクロを記録し、そのアクションを自動化しようとしています。マクロ コードは歓迎しますが、必須ではありません。よろしくお願いします。

4

1 に答える 1

2

このような?このコードをモジュールに貼り付けます。

Sub Sample()
    Dim ws As Worksheet
    Dim Rng As Range
    Dim Rw As Long, i as Long

    '~~> This is the relevant sheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    '~~> This the row where you want to check
    Rw = 1

    With ws
        '~~> I am assuming there are 10 cols. Change as applicable
        For i = 1 To 10
            '~~> UCASE so that it check for x and X
            If UCase(.Cells(Rw, i).Value) = "X" Then
                '~~> Set your range
                If Rng Is Nothing Then
                    Set Rng = .Columns(i)
                Else
                    Set Rng = Union(Rng, .Columns(i))
                End If
            End If
        Next i
    End With

    If Not Rng Is Nothing Then Rng.Delete Shift:=xlRight
End Sub

スクリーンショット

ここに画像の説明を入力

于 2013-04-03T16:06:20.873 に答える