Clever-Excel-Forum

Normale Version: Kennwortschutz, Verknüpfungen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hallo Zusammen,

ich benötige dringend ein Makro, habe aber nie VBA gelernt und bin überfordert. Kann mir bitte jemand helfen den Code für mein Problem anzupassen.
Folgendes Problem: eine Datei (Zusammenfassung_kfm_2021.xlsx) enthält Verknüpfungen zu vielen anderen Dateien (z.B. Zeitkonto Max Mustermann.xlsx u.w.). Jede einzelne davon ist mit einem eigenen Kennwort geschützt.
Diese liegen unter dem Pfad O:\MITARBEITER\Mitarbeiter 2021\Max Mustermann.xlsx

Ich habe im Reiter Verknüpfungen in der gleichen Datei Zusammenfassung_kfm_2021.xlsx in Spalte A alle Dateipfade und alle Passwörtern in Spalte B (Mitarbeiter_Passwörter.xlsx).
Wenn ich die Übersicht öffne, muss ich das Kennwort für die Datei eingeben und dann müsste ich für sämtliche Kennwortgeschützte einzelne Zeitkonten die Passwörter eingeben damit diese aktualisiert werden.
Ich habe das Makro unten gefunden und versucht es anzupassen. Es kommt kein Fehler beim Ausführen aber die Daten werden auch nicht aktualisiert. Huh
kann mit bitte jemand helfen?


Sub Passwörter_umgehen()                               
Application.ScreenUpdating = False
x = 1
Do While Workbooks("Zusammenfassung_kfm_2021.xlsx").Worksheets("Verknüpfungen").Cells(x, 1) <> ""  
 dateiname = Worksheets("Verknüpfungen").Cells(x, 1)   
 code = Worksheets("Verknüpfungen").Cells(x, 2)        
 Workbooks.Open dateiname, Password:=code
 ActiveWorkbook.Close
 x = x + 1                                             
Loop                                                   
Application.ScreenUpdating = True                      
End Sub

Danke Viele Grüße Karin
Hallo,

fast bin ich sicher, dass die Forensoftware noch kleinere Schriften ermöglicht.
Hallo Karin,

der Code ist ziemlich ok, aber einige Details müssen beachtet werden:

- steht in Spalte nur der Dateiname ("Mustermann.xls") oder Pfad + Dateiname
O:\MITARBEITER\Mitarbeiter 2021\Max Mustermann.xlsx
- was soll up-ge-dated werden

Der Workbooks.Open Befehl erwartet Pfad\Dateiname.

"ActiveWorkbook.Close": ist die Voreinstellung "speichern". Üblicherweise wird ein "True" angehängt.

Code:
Sub Passwörter_umgehen()  
dim WB as workbook
                            
Application.ScreenUpdating = False
for i = 1 to cells(rows.count, 1).end(xlup).row)
' ### muss im Arbeitsblatt mit den links gestartet werden
    
set WB =  Workbooks.Open file:=cells(i,1), Password:=cells(i,2)
' #### hier der Code zum updaten  
WB.close 1
next i
Application.ScreenUpdating = True                      
End Sub

(ungeprüft, kann Tipfehler enthalten)
Hallo Fennek,

danke für die Rückmeldung!


- steht in Spalte nur der Dateiname ("Mustermann.xls") oder Pfad + Dateiname
O:\MITARBEITER\Mitarbeiter 2021\Max Mustermann.xlsx
--> in der Spalte steht der ganze Pfad mit Dateiname

- was soll up-ge-dated werden
--> in der Übersicht sollen die aktuellen Daten aus den ganzen einzelnen Dateien stehen.
also ein Mitarbeiter trägt dort aktuell Überstunden usw. ein und in der Übersicht muss das aktualisiert werden...

Der Workbooks.Open Befehl erwartet Pfad\Dateiname. (dann ist es ok oder?)

"ActiveWorkbook.Close": ist die Voreinstellung "speichern". Üblicherweise wird ein "True" angehängt.


Ich probiere den neuen Code aus. Vielen Dank schon mal!
VG Karin
Hallo Karin,

dann fehlt nur noch ein Copy-Befehl für die Eingaben der Mitarbeiter. Falls diese im Sheets(1) am Ende der Spalten A:C stehen und die Zusammenfassung im Sheets("Auswertung") der Datei des Makro stehen, sieht das etwa so aus:

Code:
lr = WB.sheets(1).cells(rows.count, 1).end(xlup).row
WB.sheets(1).Range(cells(lr, 1), cells(lr, 3).copy Sheets("Auswertung").cells(rows.count, 1).end(xlup).offset(1)

(auch das kann Tippfehler enthalten)
Hallo Fennek,

leider komm ich nicht klar. ich verstehe zu wenig von VBA, sorry...
ich weiß nicht welche Teile meines Codes ich mit deinem neuen kombinieren muss.
Huh 20
Bescheibe präzise, wo die zu-kopierenden Daten stehen:

Z.B. im einzigen Blatt die letzten x Zeilen der Spalten A:??

Beschreibe ebenso präzise, wo diese Daten hin ge-pasted werden sollen.

Im Zweifelsfall muss Du eine (möglichst) kleine Beispiel-Datei erstellen.

-------------------------

Die Struktur ist:

Code:
Quell-Range.COPY Ziel-Range

Die Referenzierung ist:
Workbook("Quelle").Sheets(Index).Range("A1:E9").Copy
Workbook("Ziel").Sheets(Index).Range("A20")

Die Angaben im Range sind beispielhaft.
Hallo Fennek,
jetzt ist es mir schon echt unangenehm... 16
Danke dass du dir so Mühe gibst.

Übersichts Datei: Zusammenfassung_kfm_2021.xlsx     liegt unter   O:\MITARBEITER\Mitarbeiter 2021\_ÜBERSICHTEN\Zusammenfassung kfm[/color]

Die Dateien auf die zugegriffen wird liegen alle unter:
    O:\MITARBEITER\Mitarbeiter 2021\Max Mustermann
    O:\MITARBEITER\Mitarbeiter 2021\Markus Beispiel   usw.

    das sind einzelne Exceldokumente in Ordnern mit genau dem gleichen Namen z.B. Max Mustermann
    Diese Dateien heißen: Zeitkonto Max Mustermann.xlsx
    Diese haben 12 Reiter für die Monate.

In der Datei Zusammenfassung_kfm_2021.xlsx sind 12 Reiter mit den Monaten
und ein Reiter ("Verknüpfungen") mit der Tabelle mit den Dateipfaden A und den Passwörtern Spalte B
z.B. Spalte A      O:\MITARBEITER\Mitarbeiter 2021\Max Mustermann
       Spalte B      MM32

ich öffne die Kennwortgeschütze Zusammenfassung, gebe das Kennwort der Datei ein,
gehe dann auf nicht aktualisieren und aktiviere nun das Makro um alle ebenfalls
Kennwortgeschützten Dateien auszulesen. Dann sollten die dort eingetragenen Urlaubstage,
Krankheitstage in der jeweiligen Verknüpfen Zelle der Zusammenfassung aktualisiert werden.
Die Zusammenfassung ist eine reine Datei zur Ansicht. Datenänderungen finden nur in den Zeitkonten statt.

Reichen diese Angaben?

Danke für deine Mühe!

VG Karin

was passiert hier immer mit der Schriftgröße? Siehe oben
Übersichts Datei: Zusammenfassung_kfm_2021.xlsx   liegt unter   O:\MITARBEITER\Mitarbeiter 2021\_ÜBERSICHTEN\Zusammenfassung kfm
Hi,

Zitat:was passiert hier immer mit der Schriftgröße? Siehe oben
bitte die Nachrichten direkt im Browser im Forum-Fenster eingeben und nicht über Word formatieren.

Beispieldateien ebenfalls hier im Forum hochladen!
Ok Wink
Seiten: 1 2