Ich schreibe einen Code, um die Spalten loszuwerden, die eine bestimmte Zeichenfolge in einer Zelle enthalten. Der Code lautet wie folgt:VBA-Code zum Löschen von Spalten, die eine bestimmte Zeichenfolge mit der Funktion Zellen enthalten
Dim i As Integer
Dim j As Integer
Dim state As String
Dim num As Variant
num = InputBox("Enter the state", "What stx is it?", "Enter x here")
'the & will combine them together
state = "st" & num
With ActiveSheet.UsedRange
'Uses all the columns in use due to the previous line
For j = 2 To .Columns.Count
If .Cells(2, j).Formula = state Then
'Do nothing
Else
Range(.Cells(1, j), .Cells(.Rows.Count, j)).Delete Shift:=xlToLeft
End If
Next j
End With
End Sub
ich bei j=2
gestartet werden, weil ich die erste Spalte löschen nicht wollen. Here is a snippet of my data I am trying to modify. Dies löscht jedoch nicht alle Spalten, die die spezifische Zelle enthalten. Was mir ein Rätsel ist, dass wenn ich
Range(.Cells(1, j), .Cells(.Rows.Count, j)).Delete Shift:=xlToLeft
mit
Range(.Cells(1, j), .Cells(.Rows.Count, j)).Interior.ColorIndex = 6
ersetzen sie alle Zellen richtig hervorhebt, die ich löschen möchten.
wenn Zeilen oder Spalten immer Schleife rückwärts zu löschen, 'Für j = .Columns.Count zu Schritt 2 -1' –
Vielen Dank für Ihre Antwort. – Koskarium