ich habe eine Arbeitsmappe A von der ich ein Makro "Archivieren" starten möchte.
Zuvor wird in ein Array alle Blattnummer geschrieben, die ich in eine andere ausgewählte Arbeitsmappe (Archiv) verschieben möchte.
Dabei sollen die zu verschiebenden Tabellenblätter vor der Tabelle "Ende" in der Archivdatei verschoben werden.
Sub Archivieren()
Dim varDatei As Variant, avntLinks As Variant, vntLink As Variant
Dim wbALT As Workbook, wbNEU As Workbook
Dim n As Name
Dim iSheetZaehler, iAnzahlSheets, o As Integer
Dim iAuswahlSheets(510) As Integer
Dim sArchivSpalte, sBlattnummerSpalte As String
' Spalte in der Übersichtstabelle in der ausgewählt wird welche
'Tabelle verschoben werden soll
sArchivSpalte = "u"
' In der Spalte werden die Blattnummer in der Übersichtstabelle angezeigt.
sBlattnummerSpalte = "c"
o = 1 'Startindex fürs Array
iAnzahlSheets = Sheets.Count 'Zählen alle Sheets in der Arbeitsmappe
'Schreibe alle Blattnummern in das Array
For a = 1 To iAnzahlSheets + 16 'Erste Zeile für 1 Tabelle ist 17
If Cells(a, sArchivSpalte) = "Ja" Then
iAuswahlSheets(o) = Cells(a, sBlattnummerSpalte)
o = o + 1
Else
End If
Next
'Set wbALT = ActiveWorkbook
'iAnzahlSheets = Sheets.Count
varDatei = Application.GetOpenFilename() 'Hole dir den Namen & Pfad der Archivdatei
If varDatei = False Then
MsgBox "Der Benutzer hat abgebrochen.", vbInformation
Exit Sub
Else
Application.ScreenUpdating = False
Set wbALT = ActiveWorkbook
Set wbNEU = Workbooks.Open(varDatei)
With wbALT
For t = 1 To o
wbALT.Worksheets(iAuswahlSheets(t)).Move before:=Workbooks(wbNEU).Worksheets("Ende")
Next
End With
'wbNeu.Close False
End If
End Sub
Irgendwie peile ich den Umgang mit With und set usw nicht wirklich.
Hilfe wäre super, habe schon einige Zeit verschwendet :(.
Vielen Dank im Voraus.