1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

(Visual Basic Excel) Makro für Daten Excel->Word

Discussion in 'Programmieren' started by InEffecTiVe, May 17, 2011.

Thread Status:
Not open for further replies.
  1. Hallo Community!
    Ich habe auf der Arbeit einen Auftrag bekommen, eine Möglichkeit zu finden bestimmte Datensätze automatisiert in ein Word Dokument eintragen zu lassen.

    Folgende Situation:

    In der Exceltabelle sind in Spalte D und ( E oder F ) Werte, welche bei Word an vorhandenen Textmarkern eingetragen werden sollen.

    Wenn man das Makro startet, soll ein kurzes Fenster aufpoppen, in dem man (wie bei der Auswahl der Seiten beim drucken) die Zeilennummern eintragen kann, bei denen die Werte aus den Spalten D und E/F genommen werden sollen.
    Man könnte also 1-5 oder 1;3;5 eintragen.

    In Word gibt es 48 Textmarke, von denen jeweils 2 zusammen gehören. Es gibt Geräte_ID_1 bis 24 und Inventar_ID_1 bis 24.


    kleines Beispiel:
    Excel hat 5 Zeilen. Man klickt das Makro an und es kommt das Dialogfenster. Der User tippt nun ein 1;3 und das Makro fischt sich die Datensätze D1, F1, D3, F3 raus. D1 und F1 werden dann für Geräte_ID_1 und Inventar_ID_1 eingetragen und D3+F3 für Geräte_ID_2 und Inventar_ID_2.

    Ziel ist es, die IDs von den Geräten auf Labels zu drucken, immer 24 auf einmal. Die IDs sollen dabei nicht jedes mal per Copy+Paste hin und her gezogen werden müssen sondern es soll zeitsparend vereinfacht werden.

    Ich habe bisher nur das hier gefunden, werde daraus aber nicht so recht schlau:
    Gelöscht, Shortlinks sind nicht erwünscht - Hascheff

    Ich hoffe jemand kann mir ein paar Tipps geben, oder hat sogar ein Marko, der fast dies macht, und bei dem ich mit ein paar wenigen Änderungen zum gewünschten Ergebnis komme. Habe null Erfahrung mit Visual Basic

    Danke!
     
  2. Hascheff

    Hascheff Moderator

    Hallo InEffecTiVe,
    ich würde für deinen Sachverhalt kein Makro, sondern die Serienbrieffunktion von Word verwenden.

    Benutze den Assistenten zur Erstellung von Etiketten. Nur beim Schritt zur Auswahl der Datenquelle darfst du nicht "erstellen" wählen. Da kommst du je nach Office-Version (Welche hast du eigentlich?) an eine Word- oder Access-Tabelle. Für eine Excel-Tabelle muss die Datenquelle dann schon vorhanden sein.

    In Excel musst du wahrscheinlich als Datenquelle ein neues Blatt anlegen. Der Word-Etikettenassistent fragt dich dann nach dem Namen des Excel-Tabellenblattes.
    Wenn ich deine Darstellung richtig verstanden habe, brauchst du in der Datenquelle nur die Spalten Geräte_ID und Inventar_ID mit 24 Zeilen. Die Daten kommen mit Hilfe einer VERWEIS-Funktion in die Tabelle, wahrscheinlich WVERWEIS.
    Probiere mal und melde dich dann wieder.

    Apropos Access:
    Allerdings solltest du den Umstieg in Ruhe angehen, unter Stress wird das nichts. Bleib erst mal bei Excel.
     
  3. okay, ich habe es jetzt etwas anders egmacht, jetzt stehe ich aber wieder vor einem neuen Problem. Wie kann ich ein Makro schreiben, welches ein bestimmtes Bild anzeigt, wenn eine Bedingung (zB. D12 <> "") vorhanden ist?

    Also:
    Bild anzeigen, wenn D12 inhalt hat
    Bild nicht anzeigen, wenn D12 keinen inhalt hat

    habe folgendes aber das tuts nicht. kommt ständig ein kompilierfehler:

    weiß jemand was?
     
  4. Hascheff

    Hascheff Moderator

    Warum stehen da zwei "End Sub"?

    Die Objekte existieren?

    Warum stehen da überhaupt zwei veschiedene Objekte?

    In welchem Modul steht die Prozedur, hat die Prozedur von dort überhaupt Zugriff auf die Objekte?
     
Thread Status:
Not open for further replies.

Share This Page