Hallo zusammen
mit nachfolgendem Code kopiere ich Werte von bezeichneten Spalten von einem Exceldokument in das Andere. In der Version Excel 2013 funktioniert das Kopieren Fehler frei, das heisst, schliesse ich das Dok kopiert es die Wert automatisch in das andere gewünschte Dokument.
Arbeite ich nun mit den selben Dokumenten auf einem anderen PC, welcher die Version Excel 2010 hat, funktioniert das kopieren nicht mehr automatisch, wenn ich das Dokument schliesse. Es funktioniert dann nur, wenn ich des über die das "grüne Pfeilchen" Makro ausführen manuel auslöse, dann aber kopiert es alle Werte ins andere Dokument.
Nach langem Suchen fand ich leider keine Lösung!!
Kann es ev. an den verschiedenen Versionen (Office Excel 2013 zu 2010) liegen?
Hat jemand einen Rat?
Besten Dank für eure Mithilfe
Gruss
jojue
Code in:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'speichert Dokument beim Schliessen automatisch
Save
DieseArbeitsmappe.NachDruckversion
End Sub
Sub NachDruckversion()
'aktive Mappe = Rückmeldungen.xlsm
Dim wbQ As Workbook, wbZ As Workbook
Dim arrCH() As Variant 'Datenfeld1
Dim arrRT() As Variant 'Datenfeld2
Dim rngZiel As Range 'Zielzelle
Dim rngQuelle As Range 'zu verschiebende Daten
Dim lngLast As Long 'jew. letzte Zeile
'nur aktive Mappe = Rückmeldungen.xlsm
If Workbooks.Count > 1 Then Exit Sub
'Seiten gefüllt, sonst Abbruch
With Sheets("spezialversorgung")
If Application.WorksheetFunction.CountA(.Cells) = 0 Then Exit Sub
End With
With Sheets("info")
If Application.WorksheetFunction.CountA(.Cells) = 0 Then Exit Sub
End With
On Error GoTo eHandler
Application.ScreenUpdating = False
Set wbQ = ActiveWorkbook
Workbooks.Open Filename:=ThisWorkbook.Path & "\Druckversion.xlsx"
Set wbZ = ActiveWorkbook
'Mappe = Druckversion.xlsx - leeren
wbZ.Sheets("spezialversorgung").Cells.Clear
wbZ.Sheets("info").Cells.Clear
'Daten aufnehmen in Rückmeldungen (wbQ) und Übertragen in Druckversion (wbZ)
'Mappe spezialversorgung
lngLast = wbQ.Sheets("spezialversorgung").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
wbQ.Sheets("spezialversorgung").Range("C1:H" & lngLast).Copy wbZ.Sheets("spezialversorgung").Range("A1")
wbQ.Sheets("spezialversorgung").Range("O1:T" & lngLast).Copy wbZ.Sheets("spezialversorgung").Range("G1")
wbQ.Sheets("spezialversorgung").Range("K1:K" & lngLast).Copy wbZ.Sheets("spezialversorgung").Range("I1")
'Mappe info
lngLast = wbQ.Sheets("info").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
wbQ.Sheets("info").Range("C1:H" & lngLast).Copy wbZ.Sheets("info").Range("A1")
wbQ.Sheets("info").Range("O1:T" & lngLast).Copy wbZ.Sheets("info").Range("G1")
wbQ.Sheets("info").Range("K1:K" & lngLast).Copy wbZ.Sheets("Info").Range("I1")
'speichern, schließen
wbZ.Close True
eHandler:
Select Case Err.Number
Case 0 'erfolgreich
Case Else
MsgBox "Fehler bei der Ausführung"
End Select
Application.ScreenUpdating = True
End Sub
|