Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

paste Methode über versch. Workbooks

paste Methode über versch. Workbooks
12.12.2020 13:27:13
Jochen
Hallo liebe Forum Leser, vielleicht habt Ihr eine Idee.
Hab wie immer schon viel probiert und gesucht, komme aber nicht weiter der PASTE Befehl will nicht funktionieren. (Fehler 1004)
Habe einige verbundene Zellen, die löse ich auf. Geht aber trotzdem nicht.
Hier der Code:
Sub DMSundExcelÜbergabe()
Dim sDruckerAktuell, sDruckerNeu, DateinameCompStr, BlattNamStr, PasswortStr As String
Dim QWB, ZWB As Workbook
Dim QWS1, ZWS1 As Worksheet
Set QWB = ActiveWorkbook
Set QWS1 = QWB.Sheets(1)
PasswortStr = "XXX"
DateinameCompStr = ActiveWorkbook.Path & "\12-2020.xlsm"
BlattNamStr = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)
QWS1.Range("E5:AE40").UnMerge  'verbundene Zellen müssen aufgelöst werden für kopieren
QWS1.Range("E5:AE40").Select ' Daten werden markiert
QWS1.Selection.Copy          ' Daten werden kopiert
Application.AskToUpdateLinks = False
Application.DisplayAlerts = False
Workbooks.Open Filename:=DateinameCompStr, Password:=PasswortStr 'Vorlage bzw. Master ö _
ffnen
Set ZWB = Workbooks("12-2020.xlsm")
Set ZWS1 = ZWB.Sheets(BlattNamStr)
ZWS1.Select
With Selection
.Range("E5:AE40").UnMerge  'verbundene Zellen müssen aufgelöst werden für kopieren
.Range("E5").Select
  .Paste
.Range("E5:G5").Merge 'Zellenverbunde wieder herstellen
.Range("E6:G6").Merge 'Zellenverbunde wieder herstellen
.Range("I5:J5").Merge 'Zellenverbunde wieder herstellen
End With
Application.AskToUpdateLinks = True
Application.DisplayAlerts = True
ZWB.Close SaveChanges:=True ' Datei speichern
QWS1.Range("E5:G5").Merge 'Zellenverbunde wieder herstellen
QWS1.Range("E6:G6").Merge 'Zellenverbunde wieder herstellen
QWS1.Range("I5:J5").Merge 'Zellenverbunde wieder herstellen
QWB.Save ' Datei speichern
'Aktuellen Drucker merken und mit DMS-Drucker drucken
sDruckerAktuell = Application.ActivePrinter
sDruckerNeu = "\\dms\Archivdrucker"
QWS1.PrintOut ActivePrinter:=sDruckerNeu
Application.ActivePrinter = sDruckerAktuell
QWB.Close SaveChanges:=False
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: paste Methode über versch. Workbooks
12.12.2020 13:43:58
ralf_b
das steht doch nicht nur (fehler 1004)
Hast du den Inhalt deiner Variablen geprüft?
Sind die Sheetnamen wirklich stimmig? usw..
AW: paste Methode über versch. Workbooks
12.12.2020 13:45:53
Rudi
Hallo,
die Selecterei ist überflüssig.
teste mal:
Sub DMSundExcelÜbergabe()
Dim sDruckerAktuell, sDruckerNeu, DateinameCompStr, BlattNamStr, PasswortStr As String
Dim QWB, ZWB As Workbook
Dim QWS1, ZWS1 As Worksheet
Set QWB = ActiveWorkbook
Set QWS1 = QWB.Sheets(1)
PasswortStr = "XXX"
DateinameCompStr = ActiveWorkbook.Path & "\12-2020.xlsm"
BlattNamStr = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)
With QWS1.Range("E5:AE40")
.UnMerge  'verbundene Zellen müssen aufgelöst werden für kopieren
End With
Application.AskToUpdateLinks = False
Application.DisplayAlerts = False
Workbooks.Open Filename:=DateinameCompStr, Password:=PasswortStr 'Vorlage bzw. Master ö _
ffnen
Set ZWB = Workbooks("12-2020.xlsm")
Set ZWS1 = ZWB.Sheets(BlattNamStr)
With ZWS1
.Range("E5:AE40").UnMerge  'verbundene Zellen müssen aufgelöst werden für kopieren
QWS1.Range("E5:AE40").Copy .Range("E5")
.Range("E5:G5").Merge 'Zellenverbunde wieder herstellen
.Range("E6:G6").Merge 'Zellenverbunde wieder herstellen
.Range("I5:J5").Merge 'Zellenverbunde wieder herstellen
End With
Application.AskToUpdateLinks = True
Application.DisplayAlerts = True
ZWB.Close SaveChanges:=True ' Datei speichern
With QWS1
.Range("E5:G5").Merge 'Zellenverbunde wieder herstellen
.Range("E6:G6").Merge 'Zellenverbunde wieder herstellen
.Range("I5:J5").Merge 'Zellenverbunde wieder herstellen
End With
QWB.Save ' Datei speichern
'Aktuellen Drucker merken und mit DMS-Drucker drucken
sDruckerAktuell = Application.ActivePrinter
sDruckerNeu = "\\dms\Archivdrucker"
QWS1.PrintOut ActivePrinter:=sDruckerNeu
Application.ActivePrinter = sDruckerAktuell
QWB.Close SaveChanges:=False
End Sub

Gruß
Rudi
Anzeige
AW: paste Methode über versch. Workbooks
12.12.2020 13:58:07
Jochen
Ich danke Dir geht. Ich verstehe nicht ganz meinen Fehler. Kannst Du da noch ein Wort dazu sagen?
Dann muss ich immer weniger nerven hier im Forum ;-)
AW: paste Methode über versch. Workbooks
12.12.2020 14:01:11
Jochen
OK habe den Denkfehler verstanden. Danke nochmal.
AW: paste Methode über versch. Workbooks
12.12.2020 13:50:48
onur

With Selection
.Range("E5:AE40").UnMerge  'verbundene Zellen müssen aufgelöst werden für kopieren
.Range("E5").Select
.Paste

Sobald du innerhalb von "With Selection" was anderes (E5) selektierst, ist natürlich dein "With Selection" für den A... .
AW: paste Methode über versch. Workbooks
12.12.2020 14:00:15
Jochen
OK danke auch ... Ist ja eigentlich klar. Da habe ich einfach dann zu viele Versuche vermischt.
Naja.
Gut das es dieses Forum und Euch gibt
Anzeige
AW: paste Methode über versch. Workbooks
12.12.2020 14:04:59
onur
Wie gesagt, Select ist zu 99,9 % überflüssig. Der Makrorecorder produziert Dies zuhauf, da es nun mal nicht anders geht, weil du ja bei Excel eine Zelle markierst, mit ihr dies und das machst, dann eine Andere selektierst usw usw. Und der Makrorecorder zeichnet alles auf.
Aber bei VBA brauchst du eine Zelle nicht vorher zu markieren, du kannst sie direkt ansprechen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige