simon-ni
Goto Top

Mit VBA in Word 2010 Zeile mit Inhalt an Tabelle anfügen

Mit VBA in Word 2010 Zeile mit Inhalt an Tabelle anfügen

Hallo Liebes Forum,

ich habe ein Word 2010 Dokument das eine Tabelle enthält, wenn die Zeilen ausgehen, soll einfach eine neue angeügt werden.

d9677c5eaadce10b6be02248a60211d7

Das ganze soll so Aussehen. Ist das in VBA möglich, oder gibt es sogar eine möglichkeit das ganze ohne Makro oder Skript zu machen?
In Google hab ich zwar was gefunden, aber ich kann leider kein bischen VBA deswegen tu ich mir mit dem abändern schwer.

Dank im Vorraus.

Gruß
Nico

Content-ID: 183028

Url: https://administrator.de/contentid/183028

Ausgedruckt am: 16.11.2024 um 05:11 Uhr

Pjordorf
Pjordorf 03.04.2012 um 16:01:01 Uhr
Goto Top
Hallo,

Zitat von @simon-ni:
ich habe ein Word 2010 Dokument das eine Tabelle enthält,
Jetzt kommen die Fragen: Wie ist diese Tabelle im Word enthalten?

wenn die Zeilen ausgehen, soll einfach eine neue angeügt werden.
Ist das in VBA möglich
Ja.

oder gibt es sogar eine möglichkeit das ganze ohne Makro
Ja.

oder Skript zu machen?
Ja.

Es hängt davon ab wie deine Tabelle in deinem Word 2010 definiert und eingebunden ist.

Gruß,
Peter

[Nachtrag]
Öffne dein Word 2010. Drücke nun einmal die mit F1 bezeichnete Taste auf deiner Tastatur welche an dem Rechner angeschlossen ist wo du gerade Word 2010 geöffnet hast. Gebe dort dann oben links das Wort Tabelle ein und drücke die Eingabetaste (EinsPlus, Return, Enter) oder klicke rechts neben den Wort Tabelle auf Suchen. In der jetzt erscheinenden Liste (Internet ist an?) sollte ganz oben "Hinzufügen oder Löschen einer Tabelle" dir angeboten werden. Klicke mal da drauf und es tut sich ein neuer inhalt hervor. Dort in der 4.ten zeile steht "Hinzufügen oder Löschen von Zeilen oder Spalten". Klicke auch da mal drauf. Und nun hast du deine Lösung (auch ohne VBA oder Makro).
[/Nachtrag]
simon-ni
simon-ni 04.04.2012 um 07:59:34 Uhr
Goto Top
Danke für die schnelle Antwort, ich glaub ich habe meine Frage falsch formuliert. Es geht mir darum das ein Button unter der Tabelle ist, der beim Klicken eine weitere Zeile einfügt (Siehe Bild oben) wenn möglich erhöht er die Nummer in der linken Spalte um 1. (So wie in InfoPath bei einer wiederholten Tabelle)

Es wurde eine ganz normale Tabelle über Einfügen-> Tabelle eingefügt.

@Pjordorf aus deinem Nachtrag werde ich nicht ganz schlau, es wird erklärt wie mein eine weitere Zeile einfügt? War das so gedacht?

Ich hoffe man versteht mein Anliegen jetzt?


Gruß,
Nico
simon-ni
simon-ni 17.04.2012 um 07:55:35 Uhr
Goto Top
Hallo,

Kann mir niemand helfen?

Gruß
Nico
mak-xxl
mak-xxl 17.04.2012 um 14:19:11 Uhr
Goto Top
Moin simon-ni,

doch, helfen kann man schon, es ist nur erfahrungsgemäß sehr langwierig, einem VBA-Neuling Post für Post den Weg bei einer solchen Sache zu ebnen - das Teufelchen steckt bekanntermaßen im Detail. Die erforderliche Lösung (mit Schaltfläche) erfordert nun einmal ein wenig VBA.
Wenn Du aber einverstanden bist, nimm per PN Kontakt auf, schicke dann die fragliche Word-Datei, die geht mit Lösung retour - und selbige posten wir im Forum, damit andere etwas davon haben.

Freundliche Grüße von der Insel - Mario
simon-ni
simon-ni 18.04.2012 um 12:38:51 Uhr
Goto Top
Problem wurde von mak-xxl persönlich gelöst. Vielen Dank nochmal an Ihn.
mak-xxl
mak-xxl 18.04.2012 um 14:02:27 Uhr
Goto Top
Moin simon-ni,

falls hier jemand nochmals reinschaut, kurz die Lösung.
Da das Dokument recht einfach (nur eine, ungeschachtelte Tabelle, keine der Zellen trug Objekte oder Verknüpfungen, nichts verborgen oder geschützt) aufgebaut ist, folgt auch der Quelltext der Lösung diesem Anspruch. Es wurde eine (automatisch floatende) Schaltfläche hinter das Ende der Tabelle eingefügt, deren zugeordneter Code so aussieht:
Private Sub CommandButton1_Click()
    With ActiveDocument.Tables(1)
        .Rows(.Rows.Count).Select                                    ' letzte Tabellenzeile auswählen  
        With Selection
            .Copy
            .PasteAppendTable                                        ' an das Tabellenende anhängen  
        End With
        .Cell(.Rows.Count, 1).Range.Text = .Rows.Count - 2 & "."     ' Zeilen-Index in letzter Zeile eintragen  
    End With
End Sub
Die Subtraktion in Zeile 8 ist in dem Vorhandensein zweier Kopfzeilen in der Tabelle geschuldet. Das bei dieser Art des Kopierens auch eine bereits ausgefüllte letzte Zeile vervielfältigt wird, störte den Anwender im vorliegenden Fall nicht.

Freundliche Grüße von der Insel - Mario