Office: (Office 2016) Archivierung von Tabellinhalten auf externer geschützter Datei

Helfe beim Thema Archivierung von Tabellinhalten auf externer geschützter Datei in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Profis, wahrscheinlich eine marginale Sache für Profis, an der ich mir gerade die Zähne ausbeiße: Ich habe eine Datei (Excel-Quelle)... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Sammy_Davis, 8. Januar 2020.

  1. Archivierung von Tabellinhalten auf externer geschützter Datei


    Hallo liebe Profis,
    wahrscheinlich eine marginale Sache für Profis, an der ich mir gerade die Zähne ausbeiße:

    Ich habe eine Datei (Excel-Quelle) mit einem Folder "Tabelle_Quelle", in welcher Daten in einer Tabelle stehen und darüber einige Daten als "Kopfdaten" (außerhalb der Datentabelle).

    Die Daten des Folders "Tabelle_Quelle" sollen in die <b>mit Passwort "Schutz" gegen Änderung geschützen, externen Tabelle</b> übertragen werden, möglichst ohne diese öffnen oder anzeigen zu müssen. Und zwar nur diejenigen Zeilen, in denen in Spalte "Offered" ein "Offered" drin steht.

    (Der Änderungsschutz in der Zieltabelle soll möglichst bestehen.)

    Die "Kopfdaten" aus dem Quell-Folder sollen jeweils in jede Zeile der "Tabelle_Ziel" rein kopiert werden.

    Ich habe zum Besseren Verständnis mal meine beiden Dateien hier angehängt. In der Quelldatei auch meine mühsamen VBA-Versuche bis jetzt.
    In Excel-Ziel ist ein zweiter Folder drin, der zeigt, wie ich das meine.

    Das Anfügen der Daten aus der Quelltabelle an die Zieltabelle muss mehrfach möglich sein. Weil sich die Quell-Daten immer wieder ändern. Sie dürfen daher in der Zieltabelle nicht einfach via Link eingefügt werden, damit sie sich dort nicht updaten bei Änderung der Quelldaten.
    Denn die <b>Zieltabelle soll das Archiv sein</b>.

    Unnötig sicher zu sagen, dass leere Zeile der Quelltabelle nicht übertragen werden sollen.

    Wer kann mir da helfen ?
    Ich beiß mir da die Zähne aus.

    Danke im Voraus für Eure Unterstützung.
    Viele Grüße,
    Sammy
     
    Sammy_Davis, 8. Januar 2020
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    in der beiliegenden Excel-Datei "SammyDavis_Excel-Quelle.xlsm" habe ich im allgemeinen Codemodul "Modul2_Neu" das Makro "Uebertrag" eingefügt.
    Nach dem Start fragt das Makro,
    - ob die Zieltabelle gelöscht und hinterher neu erzeugt werden soll mit den Daten der Quelltabelle
    - ob die Daten der Quelltabelle nur angefügt werden sollen an die bestehende Zieltabelle
    - ob das Makro sofort beendet werden soll ohne jede sonstige Aktion.

    Die angegrauten Zellen in A1:A5 bzw. D6:E6 werden verwendet, um die "Kopf"-Felder zu ermitteln und die rechts bzw. unterhalb befindlichen Werte werden für die "Kopf"-Zelleninhalte verwendet. Die dazugehörigen Farbkonstanten sind ebenfalls im Makro festgelegt und müssten dort gegebenenfalls geändert werden.

    Die Quelldatei enthält ferner ein weiteres Modul, das Klassenmodul "clsFeld", in dem nur die Deklaration für 2 Variablen enthalten ist. Dieses Modul darf nicht verändert werden, denn sonst funktioniert das Einlesen der Felder/Feldwerte nicht mehr - wird für die Items im Collection-Objekt benötigt.

    Die Excel-Ziel-Datei "SammyDavis_Excel-Ziel.xlsx" muss natürlich geöffnet werden, damit sie aktualisiert werden kann - ein Zugriff auf die Datei, ohne sie öffnen zu wollen, wäre doch wohl ein Beispiel für ein Wunder. Sie muss sich im gleichen Verzeichnis befinden wie die Quelldatei. Den Namen der Datei kann/muss man im Makro ändern.
     
    Exl121150, 11. Januar 2020
    #2
  3. Exl121150 Erfahrener User
    Hallo,

    in den beiliegenden beiden Excel-Dateien habe ich eine Reihe Verbesserungen gegenüber der Version von gestern eingebaut.
    Zusätzlich habe ich verstärkt Kommentar eingefügt, sodass ein durchgängiges Verständnis des Codes möglich sein sollte.

    Alles Übrige gilt so wie im gestrigen Posting.
     
    Exl121150, 12. Januar 2020
    #3
  4. Archivierung von Tabellinhalten auf externer geschützter Datei

    Hallo Anton,
    sorry zunächst für die Wartezeit bis zu meiner Rückmeldung. Ich komme beruflich bedingt nur sporadisch dazu, meine Excel-Anwendung weiter zu entwickeln.

    Vielen Dank für Deine Mühe und Dein Makro. Sieht klasse aus und ist absolut professionell !!! Coole Sache ! Danke !!!

    Jedoch in Deiner Professionalität hast Du weiter gedacht, als wirklich notwendig ist. Aus folgendem Grund:

    1) Aus den Kopffeldern der Quelltabelle dürfen in der Tat ausschließlich nur die Werte übertragen werden, die ich genannt / aufgelistet habe. Ein automatisches Auslesen der Kopffelder von links nach rechts darf nicht geschehen, weil weiter rechts noch andere Informationen stehen (reine Informationen für den Anwender; keine Daten), die nicht übertragen werden dürfen.

    2) Die Quell-Tabelle darf auf keinen Fall überschrieben werden können. Sie darf ausschließlich ergänzt werden können.

    In diesem Zusammenhang vielleicht eine Frage, wie man das macht, wenn das Makro aus irgendeinem Grunde die Zieltabelle nicht findet?
    Zum Beispiel weil der Anwender sich die Quelltabelle woanders hin kopiert hat und darin remote / offline arbeitet?
    Dann muss das Makro nachfragen und den Anwender die Ziel-Tabelle gezielt auswählen lassen.

    Danke nochmal für Deine Mühe.
    Echt klasse Profi-Arbeit ! Super !

    Viele Grüße,
    Sammy
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Sammy_Davis, 14. Januar 2020
    #4
  5. Exl121150 Erfahrener User
    Hallo Sammy,

    in den beiliegenden beiden Excel-Dateien habe ich dir hoffentlich deine gewünschten Änderungen eingebaut.
    1. Es kann jetzt die Quelldatei nur mehr an die Zieldatei angefügt werden, obwohl die Programmlogik für eine Neuerzeugung der Zieldatei noch enthalten ist - du müsstest nur die Messagebox mit den Buttons abändern.
    2. Ferner habe ich den Aufruf eines Dateidialoges eingebaut, sodass interaktiv nach der Excel-Zieldatei gesucht werden kann (eingestellt dabei ist eine Detailauflistung mit Voransicht der ausgewählten Datei).
    3. Das Einlesen der Kopffelder im Bereich A1:I7 habe ich jetzt eingeschränkt auf die vorgegebenen Zellen. Sollten hier einmal Änderungen nötig sein, so ist dafür im Programm die Variant-Array-Variable "KopfAdr" entsprechend anzupassen. In dieser stehen die Zelladressen bezogen auf den Zellbereich "KopfBereich" (=Bereich A1:I7). Wird dieser "Kopfbereich" verschoben, wandern alle enthaltenen Kopffelder (wegen der Relativität von "KopfAdr") entsprechend mit.
    4. Die neuen Makros sind jetzt im allgem. Codemodul "Modul3_Neu" enthalten und ferner weiters wie bisher im Klassenmodul "clsFeld". Das Codemodul "Modul2_Neu" kann entfernt werden - es enthält meine bisherigen Makros.
     
    Exl121150, 15. Januar 2020
    #5
  6. Hallo Anton,
    super. Vielen Dank für Deine Muehe.
    Ich habe mir das Makro mal durchgelesen und nachvollzogen. Ist verstaendlich und muesste genau meine Zwecke erfuellen.
    Einsame Spitze. Haette ich nie so hin gekriegt!

    Aber einen kleinen Bug habe ich wohl noch gefunden:

    Ich habe das Makro im Einzelschrittmodus (F8) durchlaufen lassen. Nach erfolgter Auswahl der Zieltabelle ueber Dein Selektionsmenue bringt mir das System folgende Meldung: "Vorsicht! Teile ihres Dokuments erhalten moeglicherweise Informationen, die von der Dokumentpruefung nicht entfernt werden koennen."

    Beantwortet man die Meldung mit OK, bricht das Makro ab.
    Beantwortet man die Meldung mit "Abbrechen", bleibt das Makro mit "Debuggen" auf der Zeile "WbZ.Save" stehen (im Bereich "Speichern der Ziel Arbeitsmappe").

    Frage: Woran liegt das, bzw. was kann man machen, um das zu verhindern ?

    Entschuldige die nochmalige Muehe.
    Und vielen Dank im Voraus für Deine Antwort.

    Sammy
     
    Sammy_Davis, 16. Januar 2020
    #6
  7. Zusatzfrage, Anton:
    Bei der ersten Auswahl der Ziel-Datei über Dein Menü hat sich das system "beschwert", weil ich die Mappe bereits geöffnet hatte.
    Das kann ggf. auch beim Anwender mal passieren, denn die Daten der Zieldatei werden auch zu Auswertungszwecken benutzt.
    Nach Beschwerde des Systems über die bereits geöffnete Datei konnte ich das Makro nachher nur noch "Debuggen" oder beenden.
    Debuggen würde den Anwender aber in das Makro führen und er könnte darin herum fummeln - was es zu vermeiden gilt (ich werde das Makro wohl schützen müssen).
    Aber in einem solchen Falle, dass die Datei bereits geöffnet ist, sollte ein Hinweis kommen, die Datei bitte vorher zunächst zu schließen.
    Geht sowas ?
     
    Sammy_Davis, 16. Januar 2020
    #7
  8. Exl121150 Erfahrener User

    Archivierung von Tabellinhalten auf externer geschützter Datei

    Hallo Sammy,

    Ich habe eine Funktion eingebaut, die testet, ob die Zieldatei bereits durch einen anderen Prozess oder User geöffnet wurde. Falls dies der Fall ist, bricht das Makro nach einer erfolgten Meldung ab, ohne Wesentliches auszuführen. Es muss dann zu einem späteren Zeitpunkt ein neuer Speicherversuch mittels Makro ausgeführt werden.

    Das ist kein Bug, soweit es mein Makro betrifft. Diese Meldung kann über die Excel-Optionen abgestellt werden:
    1. Du musst dazu die Zieldatei öffnen
    2. Im Excel-Menüband > Tabulator "Entwicklertools" > Gruppe "Code" > Button "Makrosicherheit" > Dialog "Trust Center" auf der linken Seite ganz unten den Button "Datenschutzoptionen" anklicken, sodass auf der rechten Seite des Trust-Centers im Bereich "Dokumentspezifische Einstellungen" es eine Checkbox "Beim Speichern personenbezogene Daten aus Dateieigenschaften entfernen" gibt, bei der das Häkchen zu entfernen ist. Mit Ok-Button das Trust-Center schließen.
    3. Die Zieldatei speichern.
    Falls bei dir im Menüband der Tab "Entwicklertools" nicht eingeblendet sein sollte, gelangst du auch über den Menüband-Tabulator "Datei" > Button "Optionen" > Dialog "Excel-Optionen" > Befehl "Trust Center" > Button "Einstellungen für das Trust Center..." in das Trust-Center von Punkt 2).
    Zu diesem Thema noch 2 Links:
    https://microsoft-programmierer.de/...möglicherweise-persönliche-Informationen?2324
    https://support.office.com/de-de/ar...tsmappen-fdcb68f4-b6e1-4e92-9872-686cc64b6949


    Beiliegend nochmals die erste Excel-Datei (Quell-Datei) mit den Makros:
     
    Exl121150, 18. Januar 2020
    #8
  9. Hi Anton,
    suuupppeeeer ! Affenspitzengeil ! Jetzt flutsch das Progrämmchen wie geschmiert.
    Viiieeeellllleeeennn, viiieeeeellllleeeennnn Dank für Deine Hilfestellung. Das hätte ich nicht hin bekommen.
    Ich hoffe, wir laufen uns nochmal über den Weg und ich kann Dir bei was helfen, wo ich Profi bin.
    Bis denn. Vielen Dank nochmal. Echt klasse !
    Viele Grüße,
    Sammy.
     
    Sammy_Davis, 19. Januar 2020
    #9
Thema:

Archivierung von Tabellinhalten auf externer geschützter Datei

Die Seite wird geladen...
  1. Archivierung von Tabellinhalten auf externer geschützter Datei - Similar Threads - Archivierung Tabellinhalten externer

  2. Archivierung nach Regeln

    in Microsoft Outlook Hilfe
    Archivierung nach Regeln: Hallo zusammen, Ich würde mein Outlook gerne so einrichten, dass nur als gelesen markierte Mails 14 Tage nach der 'gelesen-Markierung' in ein lokal gespeichertes Archiv verschoben werden, welches...
  3. Archivierung von E-Mails ohne Löschen

    in Microsoft Outlook Hilfe
    Archivierung von E-Mails ohne Löschen: Hallo, wir nutzen im Büro Microsoft 365 mit einem Exchange-Server. Da jeder Mitarbeiter seine E-Mails in seinem lokalen Outlook hat, möchten wir gerne projektrelevante E-Mails auf unserem Server...
  4. Outlook Aufgaben werden gelöscht wenn ich die Mail archiviere? Wie verhindern?

    in Microsoft Outlook Hilfe
    Outlook Aufgaben werden gelöscht wenn ich die Mail archiviere? Wie verhindern?: Hallo, ich arbeite sehr viel mit der Aufgabenfunktion und erstelle mir, bereits beim schreiben der Mail, eine entsprechende Aufgabe die dann auch angezeigt wird. Sobald ich allerdings die...
  5. Archivierung von Outlook Elementen

    in Microsoft Outlook Hilfe
    Archivierung von Outlook Elementen: Hallo zusammen, ich habe für einen Unterordner in meinem Postfach einen Ordner erstellt, dessen Inhalt auf der Festplatte archiviert werden soll um das Postfach etwas zu entlasten. Dabei bin ich...
  6. Archivierungs Kurse am Ende des Schuljahres in Microsoft Teams

    in Microsoft Teams Tutorials
    Archivierungs Kurse am Ende des Schuljahres in Microsoft Teams: Archivierungs Kurse am Ende des Schuljahres in Microsoft Teams Microsoft Teams for Education Mehr... Weniger Am Ende...
  7. Daten in Archiv übertragen via VBA

    in Microsoft Excel Hilfe
    Daten in Archiv übertragen via VBA: Hallo liebe Profis, wahrscheinlich eine marginale Sache für Profis, an der ich mir gerade die Zähne ausbeiße: Ich habe eine Datei (Excel-Quelle) mit einem Folder "Tabelle_Quelle", in welcher...
  8. Fragen zur E-Mail Archivierung

    in Microsoft Outlook Hilfe
    Fragen zur E-Mail Archivierung: Hallo, Da ich nur eine begrenzte Postfachgröße habe möchte ich E-Mails wie folgt archivieren: - Posteingang: Alles was älter wie 1 Monat ist in einen bestimmten Ordner im Archiv schieben...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden