31.05.2022, 18:08
Hallo beisammen,
ich brauche die Hilfe eines VBA Experten. Ich möchte per VBA Artikelnummer von falschen Daten bereinigen. Der Input könnte wie folgt ausschauen
1234657 789B123 - 02
34567.89 / 1234675
98765G1 G99 1234569-01
G789 1234567, 9876123
etc.
Per Trim, Replace bekomme ich Störzeichen wie ",", ".", "/" weg. Aber wie bekomme ich variable Zeichenfolgen wie "G789" & "G99" oder "X***" mit " " ersetzt? Im Grunde müsste alles was weniger 7 Zeichen hat raus, jedoch können auch mehrere 7 stellige Zeichenfolgen, getrennt durch ein Leerzeichen in der Zelle stehen. .
Ergebnis hier müsste sein:
1234657 789B123
3456789 1234675
98765G1 1234569
1234567 9876123
Hätte jemand eine Idee?
Mein Code soweit:
Private Sub replace1()
For i = 0 To ThisWorkbook.Worksheets("Replace").Cells(Worksheets("Replace").Rows.Count, 2).End(xlUp).Row
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-00", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-01", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-02", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-03", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "/", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), ",", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = WorksheetFunction.trim(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2))
Next i
End Sub
Besten Dank
Andreas
ich brauche die Hilfe eines VBA Experten. Ich möchte per VBA Artikelnummer von falschen Daten bereinigen. Der Input könnte wie folgt ausschauen
1234657 789B123 - 02
34567.89 / 1234675
98765G1 G99 1234569-01
G789 1234567, 9876123
etc.
Per Trim, Replace bekomme ich Störzeichen wie ",", ".", "/" weg. Aber wie bekomme ich variable Zeichenfolgen wie "G789" & "G99" oder "X***" mit " " ersetzt? Im Grunde müsste alles was weniger 7 Zeichen hat raus, jedoch können auch mehrere 7 stellige Zeichenfolgen, getrennt durch ein Leerzeichen in der Zelle stehen. .
Ergebnis hier müsste sein:
1234657 789B123
3456789 1234675
98765G1 1234569
1234567 9876123
Hätte jemand eine Idee?
Mein Code soweit:
Private Sub replace1()
For i = 0 To ThisWorkbook.Worksheets("Replace").Cells(Worksheets("Replace").Rows.Count, 2).End(xlUp).Row
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-00", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-01", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-02", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-03", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "-", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), "/", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = replace(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2), ",", " ")
ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2) = WorksheetFunction.trim(ThisWorkbook.Worksheets("Replace").Cells(2 + i, 2))
Next i
End Sub
Besten Dank
Andreas