Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kennwortschutz, Verknüpfungen
#1
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
Antworten Top
#2
Hallo,

fast bin ich sicher, dass die Forensoftware noch kleinere Schriften ermöglicht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
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)
Antworten Top
#4
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
Antworten Top
#5
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)
Antworten Top
#6
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
Antworten Top
#7
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.
Antworten Top
#8
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
Antworten Top
#9
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!
Antworten Top
#10
Ok Wink
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste