Der folgende Code ist dazu gedacht, Textzeichenfolgen in ein übersichtliches Array in einem Blatt umzuwandeln, aber er ändert den Text in anderen Blättern innerhalb der Arbeitsmappe.Excel VBA: Skript auf ein Blatt isolieren
Ich habe den Block markiert, wo ich denke, dass das Problem entsteht, indem Sie es mit den Kommentaren #below
und umgeben.
Wie kann ich dies nur auf einem bestimmten Blatt ausführen lassen?
Sub Convert()
Rows(2).EntireRow.Hidden = True
Rows(3).EntireRow.Hidden = True
Rows(4).EntireRow.Hidden = True
Rows(5).EntireRow.Hidden = True
'##Below
Dim sht As Worksheet
Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long
fndList = Array(" CR 0.00 0.00 ", " DR 0.00 0.00 ", " 0.00 ", " Cr", " Dr", "0.00", "0.00 ")
rplcList = Array(";-", ";", ";", "", "", "", "")
For x = LBound(fndList) To UBound(fndList)
For Each sht In ActiveWorkbook.Worksheets
sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next sht
'##Above
Next x
Range("A1") = "Account"
Range("C1") = "Balance"
Range("D1") = "KP"
Range("A2", Range("A2").End(xlDown)).TextToColumns _
Destination:=Range("A2"), DataType:=xlDelimited, Semicolon:=True
Columns("B:C").AutoFit
Range("A1", Range("A1").End(xlDown)).Copy
Range("C1", Range("C1").End(xlToRight).End(xlDown)).PasteSpecial _
Paste:=xlPasteFormats
Application.CutCopyMode = False
Columns(2).EntireColumn.Hidden = True
Range("C:C").AutoFilter 1, "<>", , , False
End Sub
@ YowE3K es ist fast 08.00 Uhr –
@ YowE3K Ich habe kleine Kinder, und ich laufe in dem Morgen wache ich jeden Tag um 04:30 Uhr bis :( –
Vielen Dank Shai! Ich kann es kaum erwarten, dies auszuprobieren - ich werde dich wissen lassen, wie es morgen geht! –