VBA von einem Tabellblatt ins nächste kopieren
#1
Hallo zusammen,

ich wollte von dem Tabellenblatt "Analyze" Daten ins Tabellenblatt "Besetzung" kopieren. Beide Tabellenblätter sind in der bereits geöffneten Datei.

Dazu habe ich folgenden Code gebastelt, doch bei "Set WBQ" kommt immer ein Laufzeitfehler13  wegen Typenunverträglichkeit.

Code:
Sub Besetzungaktualisieren()
'
' Besetzungaktualisieren Makro
' Werte aus der Analyze in Besetzung kopieren
'
    Dim WBQ As Workbook, RNGQ As Range, LR As Long
    Dim WBZ As Workbook, RNGZ As Range
   
    'Quellblatt
    Set WBQ = ThisWorkbook.Sheets("Analyze")
   
    'Zielblatt
    Set WBZ = ThisWorkbook.Sheets("Besetzung")
   
    LR = WBZ.Cells(Rows.Count, 3).End(xlUp).Row 'letzte Zeile des gesamten Blattes
   
    Set RNGZ = WBZ.Cells(LR + 1, 3) 'Zielzelle
   
    'Quelle öffnen
    Set WBQ = ActiveWorkbook
    Set RNGQ = WBQ.Sheets("Analyze").Range("A2:P49")
   
    'Übertrage Werte
   
    RNGZ.Resize(RNGQ.Rows.Count, RNGQ.Columns.Count).Value = RNGQ.Value
   
   
    Application.CutCopyMode = False
End Sub


Wo liegt hier der Fehler?

Danke für eure Hilfe.
Antworten Top
#2
Moin!
Wenn Du einem Workbook-Objekt ein Worksheet zuweisen willst, ...

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hi Ole,

vielleicht so:

Code:
Sub Besetzungaktualisieren()
'
' Besetzungaktualisieren Makro
' Werte aus der Analyze in Besetzung kopieren
'
    Dim WBQ As Worksheet, RNGQ As Range, LR As Long
    Dim WBZ As Worksheet, RNGZ As Range
   
    'Quellblatt
    Set WBQ = ThisWorkbook.Sheets("Analyze")
   
    'Zielblatt
    Set WBZ = ThisWorkbook.Sheets("Besetzung")
   
    LR = WBZ.Cells(Rows.Count, 3).End(xlUp).Row 'letzte Zeile des gesamten Blattes
   
    Set RNGZ = WBZ.Cells(LR + 1, 3) 'Zielzelle
   
    'Quelle öffnen
    Set RNGQ = WBQ.Range("A2:P49")
   
    'Übertrage Werte
   
    RNGZ.Resize(RNGQ.Rows.Count, RNGQ.Columns.Count).Value = RNGQ.Value
   
   
    Application.CutCopyMode = False
End Sub

BR, Alexandra
Antworten Top
#4
Hi Alexandra,

danke und genau so passt es.
Habe Worksheet ein Worksheet zugewiesen.  Confused

Danke und Grüße

Hi Ralf,

war wohl doppelt gemoppelt :)

Danke und Grüße
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste