Macrorecorder Vba Code modifizieren
03.04.2020 12:41:43
Bernd
ich scheitere gerade an einem einfachen Problem...
Ich lade eine csv-Datei aus dem Internet herunter per vba.
Die Datei wird schreibgeschützt geöffnet.
Die Datei ist dann geöffnet und ich möchte die Datei sortieren.
Der Macrorecorder zeichnet folgenden Code für das Sortieren auf
Sub Sortieren()
Windows("2020-04-03").Activate
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 3), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)), _
_
DecimalSeparator:=".", ThousandsSeparator:=" ", TrailingMinusNumbers:= _
True
ActiveWorkbook.Worksheets("2020-04-03").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("2020-04-03").Sort.SortFields.Add Key:=Range("A1") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("2020-04-03").Sort
.SetRange Range("A2:F24")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Spalten sortieren
Columns("C:C").Select
Selection.Cut
Columns("H:H").Select
ActiveSheet.Paste
Columns("B:B").Select
Selection.Cut
Columns("G:G").Select
ActiveSheet.Paste
Columns("B:C").Select
Selection.Delete Shift:=xlToLeft
End Sub
Nun ändert sich aber der Dateiname beim Download am nächsten Tag.Daher habe ich gleich nach dem Download, wenn also die geöffnete Datei aktiviert ist die Namen zuordnen mit
' wks_1 entspricht der Arbeitsmappe JJJJ-MM-TT.csv
Set wks_1 = ThisWorkbook.Sheets(1)
' wkb_1 entspricht dem Arbeitsblatt "JJJJ-MM-TT"
Set wkb_1 = ActiveWorkbook
um dann
Windows("2020-04-03").Activate
durch
wkb_1.wks_1.Activate
oder
ActiveWorkbook.Worksheets("2020-04-03").Sort.SortFields.Clear
durch
wkb_1.wks_1.Sort.SortFields.Clear
zu ersetzen.
Der Makrorecorder bringt keine Fehlermeldung - dennoch wird beim Einzelschritt-Test mit F8 genau an diesen Stellen dann das aufgezeichnete Makro abgebrochen...
Wer kann helfen - stehe auf dem Schlauch.
Besten Dank
Bernd