bitte um VBA-Korrektur
08.09.2017 10:22:19
Fred
Ich kopiere einen Bereich (Bereichname:"Level") in eine andere Mappe (Name: "Level1.xlsm", Blatt "Tabelle2")
mit diesem gut kommentierten VBA
'----- Anpassen -----
Const ZIEL_PFAD As String = "C:\Users\Besitzer\Desktop\Auswertungen\" 'Verzeichnis der Ziel- _
Datei
Const ZIEL_MAPPE As String = "Level1.xlsm" 'Name der Ziel-Datei
Const ZIEL_BLATT As String = "Tabelle2" 'Name des Ziel-Tabellenblattes
Const QUELL_BEREICH_NAME As String = "Level"
'----- ENDE -----
Dim WbQ As Workbook, WsQ As Worksheet, WbZ As Workbook, WsZ As Worksheet
Dim Bereich As Range, Opened As Boolean
Application.ScreenUpdating = False
Set WbQ = ThisWorkbook 'Quell-Mappe = DIESE Mappe (mit Makro(s))
With WbQ
'Aktuelle Auswahl auf dem Blatt wird kopiert...
Set Bereich = .Worksheets("Level").Range(QUELL_BEREICH_NAME)
End With
Bereich.Copy 'Kopiert den Bereich wie o.a.
'Ziel-Mappe öffnen, wenn noch nicht offen
If MappeOffen(ZIEL_MAPPE) = False Then
Set WbZ = Workbooks.Open(ZIEL_PFAD & ZIEL_MAPPE)
Opened = True 'Vermerken, dass Ziel-Mappe durch Makro geöffnet wurde
Else: Set WbZ = Workbooks(ZIEL_MAPPE)
End If
'Prüfen ob Ziel-Blatt vorhanden ist; wenn nicht wird Vorgang abgebrochen
'(mit Warnmeldung) und die Ziel-Mappe geschlossen, WENN diese erst durch
'dieses Makro geöffnet wurde
If Not BlattVorhanden(ZIEL_BLATT, WbZ) Then
MsgBox "Ziel-Blatt """ & ZIEL_BLATT & """ in Mappe """ & ZIEL_MAPPE & _
""" nicht vorhanden. Vorgang wird abgebrochen", vbCritical, "Fehler!"
If Opened Then WbZ.Close False
Exit Sub
End If
'Kopierte Daten im Ziel-Blatt einfügen...
With WbZ
Set WsZ = .Worksheets(ZIEL_BLATT)
With WsZ
'...ab der nächsten freien Zelle in Spalte A
'Eingefügt werden nur Werte und Zahlenformate, keine anderen
'Formatierungen etc.
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial _
xlPasteValuesAndNumberFormats
End With
'Wenn Ziel-Mappe erst durch dieses Makro geöffnet wurde, wird diese
'wieder geschlossen, Änderungen gespeichert, ansonsten bleibt sie geöffnet
If Opened Then .Close True
End With
WbQ.Activate 'Quell-Mappe aktivieren
Application.CutCopyMode = False
nun möchte ich allerdings, dass mein Quell-Bereich in die Intelligente Tabelle "Tab_Level2" im Blattname "Tabelle2" angefügt wird.Kann mir jemand dieses VBA entsprechend bitte ändern?
Mit freundlichen Gruß
Fred Neumann