Ich habe ein Blatt, das ich die Leerzeichen entfernen muss, damit ich es vergleichen kann Ich verwende eine Funktion, die ich hier gefunden habe und ein Sub, das alle Werte in ein Array (für Geschwindigkeit) Aber ich kann es nicht funktionieren, keine Ahnung warum. Ich erhalte eineEntfernen Sie Leerzeichen in einer einzigen Spalte
ByRef Argument Typenkonfliktfehler
Public Function RemoveWhiteSpace(target As String) As String
With New RegExp
.Pattern = "\s"
.MultiLine = True
.Global = True
RemoveWhiteSpace = .Replace(target, vbNullString)
End With
End Function
Sub stringRangeToClean()
Dim r As Variant
Dim i As Long
r = ActiveWorkbook.Sheets("Trent BASE DATA").UsedRange
For i = 2 To UBound(r)
r(i, 10).Value2 = RemoveWhiteSpace(r(i, 10))
Next i
End Sub
nun versuchen, dies habe ich den col ich tatsächlich realisiert wird (I, 9) aber im immer einen Fehler benutzerdefinierten Typ Fehler auf die RegExp Linie
Public Function RemoveWhiteSpace(target As String) As String
With New RegExp
.Pattern = "\s"
.MultiLine = True
.Global = True
RemoveWhiteSpace = .Replace(target, vbNullString)
End With
End Function
Sub stringRangeToClean()
Dim r As Variant
Dim i As Long
Dim txt As String
r = ActiveWorkbook.Sheets("Trent BASE DATA").UsedRange
For i = 2 To UBound(r)
txt = r(i, 9)
txt = RemoveWhiteSpace(txt)
Next i
End Sub
wo sind die Kommentare gegangen? – Leighholling
Sie entfernen nur Leerzeichen? Dies kann mit einer einzigen Codezeile erfolgen: 'ActiveWorkbook.Sheets (" Trent BASE DATA "). Cells.Replace" ", vbNullString' – tigeravatar
Nein Ich möchte nur Leerzeichen in Spalte (I, 10) oder Spalte I aber entfernen nur wenn dort ein Wert drin ist, deshalb habe ich den .usedRange benutzt und eine Schleife benutzt, um das Blatt runterzugehen und den Offset (0,10) des Bereichs – Leighholling