以下は私がこれまで持っているコードです:
Sub Compare()
Sheets("SCR SYSTEM SPECS").Select
Sheets("SCR SYSTEM SPECS").Copy
Dim WS As Excel.Worksheet
Dim ColumnCount As Long
Dim I As Long
Dim Cell As Excel.Range
Set WS = ActiveSheet 'adjust as necessary
ColumnCount = 12 'adjust as necessary
With WS
For I = ColumnCount To 1 Step -1
Set Cell = .Cells(3, I)
If Cell.Value = False Then
Cell.EntireColumn.Delete
End If
Next I
End With
ActiveSheet.Shapes.Range(Array("Button 1", "Check Box 1", "Check Box 2", _
"Check Box 3", "Check Box 4", "Check Box 5", "Check Box 6", "Check Box 7", _
"Check Box 8", "Check Box 9", "Check Box 10", "Check Box 11")).Select
Selection.Delete
End Sub
私が必要とするのは、範囲 B4:L4 をループし、各セルをチェックして X で終わるかどうかを確認するために、このすべての下に移動するマクロです。この行には、次の数字/テキストの任意の組み合わせが含まれます: 1300、2000、2000X、2500、2500X、3000、3000X、4500、6000、7000、9000。特定の行を削除します。If Not Like "*X" を使用しようとして失敗しました。以下は、これまでに試したが失敗したコードです。どんな助けでも大歓迎です。
Dim MyCell, Rng As Range
Set Rng = Sheets("SCR SYSTEM SPECS").Range("B4:L4")
For Each MyCell In Rng
If Not MyCell Like "*X" Then '''''will only do something if the cell is not blank
Rows("4:18").Select
Selection.EntireRow.Hidden = True
'Else '''''if cell is equal to blank
'Rows("4:18").Select
'Selection.EntireRow.Hidden = False
End If
Next
これは、すべて 0 を含む行を非表示にするために使用しようとしている変更されたコードですが、すべて 0 を含む行、または 0 を含む 2 つの列と 4 を含む列を含む行を非表示にしています。アドバイスしてください。
Dim MyCell2, Rng2 As Range
Set Rng2 = Sheets("SCR SYSTEM SPECS").Range("B36:L36")
For Each MyCell2 In Rng2
If Right(Trim(MyCell2.Value), 1) = "0" Then
Range("36:36").Select
Selection.EntireRow.Hidden = True
End If
Next