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