Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: cama1511 am Februar 01, 2015, 08:54:02 Vormittag

Titel: Office 2010: (VBA) Daten auf geschützter und geschlossener Datei holen
Beitrag von: cama1511 am Februar 01, 2015, 08:54:02 Vormittag
Hallo @ all,
ich habe mich neu registriert, und erhoffe mir hier etwas hilfe in Sachen vba.

zunächst mal zum Problem:
Ich möchte Daten aus zwei pw geschützten Datein übertragen, am liebsten ohne die geschützte Datei zu öffnen.
Und es soll lediglich der Wert der Zelle übertragen werden, nicht aber die Formel.

Ich habe mir folgendes Makro gebastelt, welches aber die geschützte Datei im Hintergrund öffnet, und fälschlicherweise auch die Formel überträgt....

1.Könnt ihr mir dabei helfen, die datenübernahme so zu programmieren, ohne dass die geschützten Dateien geöffnet werden müssen?
2. Es sollen nur die Zellinhalte übertragen werden, nicht die Formeln.

Vorab schon mal danke!!


 Sub Datenübernahme()

 ActiveSheet.Unprotect ("XXX")

 With Application
 .ScreenUpdating = False
 .Calculation = xlCalculationManual
 End With

 Workbooks.Open Filename:="J:\conqdat\Datenerfassung C 1+2\Personal\Schichteinteilung\Schichteinteilung alle Schichten\Schichteinteilung bearbeiten Team A.xlsm", Password:="XXX", ReadOnly:=True
 Workbooks("Schichteinteilung bearbeiten Team A").Worksheets("Übersicht Schicht 2").Range("B3:E26").Copy _
 Destination:=ThisWorkbook.ActiveSheet.Range("B3:E26")
 ActiveWindow.Close SaveChanges:=False

 Workbooks.Open Filename:="J:\conqdat\Datenerfassung C 1+2\Personal\Schichteinteilung\Schichteinteilung alle Schichten\Schichteinteilung bearbeiten Team B.xlsm", Password:="XXX", ReadOnly:=True
 Workbooks("Schichteinteilung bearbeiten Team B").Worksheets("Übersicht Schicht 2").Range("B3:E26").Copy _
 Destination:=ThisWorkbook.ActiveSheet.Range("H3:K26")
 ActiveWindow.Close SaveChanges:=False



 ActiveSheet.Protect ("XXX"), DrawingObjects:=True, Contents:=True, Scenarios:=True _
 , AllowFormattingCells:=True


 With Application
 .ScreenUpdating = True
 .Calculation = xlCalculationAutomatic
 End With


 End Sub

Titel: Antw:Office 2010: (VBA) Daten auf geschützter und geschlossener Datei holen
Beitrag von: gmg-cc am Februar 01, 2015, 15:39:17 Nachmittag
Moin,

ungeprüft:
Option Explicit

Sub Datenübernahme()

   ActiveSheet.Unprotect ("XXX")
   On Error GoTo ErrorHandler
   With Application
      .ScreenUpdating = False
      .Calculation = xlCalculationManual
   End With
   
   Workbooks.Open Filename:="J:\conqdat\Datenerfassung C 1+2\Personal\Schichteinteilung\Schichteinteilung alle Schichten\Schichteinteilung bearbeiten Team A.xlsm", Password:="XXX", ReadOnly:=True
   Workbooks("Schichteinteilung bearbeiten Team A").Worksheets("Übersicht Schicht 2").Range("B3:E26").Copy
   ThisWorkbook.ActiveSheet.Range("B3").PasteSpecial Paste:=xlPasteValues
   
   'Weiterer Code
ErrorHandler:
   ActiveSheet.Protect ("XXX"), DrawingObjects:=True, Contents:=True, Scenarios:=True _
   , AllowFormattingCells:=True
   With Application
      .ScreenUpdating = True
      .Calculation = xlCalculationAutomatic
   End With
   
   ActiveWindow.Close SaveChanges:=False  '???
End Sub
Die On Error GoTo-Anweisung solltest du immer einsetzen, wenn du in Sachen Application etwas änderst ...