Collapse column

Autor Thema: Office 2010: (VBA) Daten auf geschützter und geschlossener Datei holen  (Gelesen 1293 mal)

Offline cama1511

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Office 2010: (VBA) Daten auf geschützter und geschlossener Datei holen
« 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


Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2010: (VBA) Daten auf geschützter und geschlossener Datei holen
« Antwort #1 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 ...
Gruß
Günther

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.