dies ist mein erster Beitrag und meine erste Erfahrung mit VBA. Ich habe folgendes Problem:
Ein Teil meiner Arbeit umfasst vier verschiedene Tabellen. Eine davon bleibt gleich, bekommt aber jeden Tag eine neue Mappe unten eingefügt. Die anderen drei Dateien sind jeden Tag neue Auswertungen, die in die erste Datei eingefügt werden müssen, der Aufbau ist aber immer gleich, alles an der gleichen Stelle und die selbe Anzahl an Werten.
Ich konnte mir über Makros das nun so einstellen, dass ich in den Tabellen nur die Spalten habe, die ich benötige, die Daten sortiert und die Werte dann in meine Tabelle eingefügt werden. Soweit, so gut. Das Problem ist, wenn ich einen anderen Tag einfügen möchte oder wenn ich in meiner festen Datei eine neue Mappe hinzufüge, funktioniert das ganze nicht mehr, Laufzeitfehler 9 lautet das Problem. Über Debugging zeigt Excel mir an, dass der Fehler darin liegt, dass die Makros den Namen der alten Dateien bzw. der vorherigen Mappe beibehalte.
Wie bekomme ich es hin, dass ich die Makros auch für unterschiedliche Tabellen nutzen kann, also nicht theoretisch jeden Tag ein neues Makro erstellen müsste, das kann ja nicht der richtige Weg sein.
Habt Nachsicht mit mir, dass ist mein aller erster Kontakt mit Makros und VBA, ich hab mir schon einiges durchgelesen, konnte aber keine für mich verständliche Antwort/Lösung finden.
Hier der Code, den Excel mir für eine der Makros gegeben hat.
Vielen Dank euch!
LG Patrick
Sub Snack()
'
' Snack Makro
'
' Tastenkombination: Strg+y
'
Range("A:A,C:J,L:M,O:O,P:P").Select
Range("P1").Activate
Selection.Delete Shift:=xlToLeft
ActiveWindow.SmallScroll Down:=-6
Range("A1:C66").Select
ActiveWorkbook.Worksheets("FK1_Verkauf_-_Retoure_(Menge-We").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("FK1_Verkauf_-_Retoure_(Menge-We").Sort.SortFields. _
Add2 Key:=Range("A2:A66"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("FK1_Verkauf_-_Retoure_(Menge-We").Sort
.SetRange Range("A1:C66")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B2:B66").Select
Selection.Copy
Sheets("Vorlage Fr (2)").Select
Range("H5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK1_Verkauf_-_Retoure_(Menge-We").Select
Range("C2:C66").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Vorlage Fr (2)").Select
ActiveWindow.SmallScroll Down:=-18
Range("J5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK1_Verkauf_-_Retoure_(Menge-We").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
End Sub