Zum Inhalt springen

VBA: Word-Tabelle - Zelleninhalte addieren


Empfohlene Beiträge

Geschrieben

Habe hier ein Makro erstellt, was mir aus einer excel-datei eine Tabelle in Word füllt. Nun will ich gerne die Zahlen aus Tabelle 1, Spalte 4 ab Zeile 2 (da Zeile eins mit Überschriften) addieren, leider hab ich nirgends ein Beispiel oder den "richtigen" Befehl gefunden. Vielleicht kann mir einer helfen.

Mein Gedankengang, wie es aussehen sollte, wenn z.B. nur die 4. Spalten der 2. und 3. Zeile der 1. Tabele addier werden sollten:

ActiveDocument.Tables(2).Cell(2, 2).Range.Text = ActiveDocument.Tables(1).Cell(2, 4).Range.Text + ActiveDocument.Tables(1).Cell(3, 2).Range.Text

^^ Wollte es erstmal mit 2 Werten testen, bevor ich mir GEdanken mache, wie ich es mache, daß er alle Zeilen der 1. TAbelle abklappert und schaut, ob Spalte 4 mit Inhalten gefüllt ist. Dafür bräuchte ich dann auch Hilfe/Link/Beispiel. Bin da schon seit 2 Wochen dran und ich habe wirklich alles mögliche gegoogelt, etc. aber mit "VBA + Word + addieren" o.ä. findet man nicht sonderbar hilfreiches für mein Problem...

Geschrieben

Also ich würde da ne schleife für angebracht halten, welche dir alle zellen in der 4 spalte einmal ausliest, schaut ob was drin steht, und wenn ja dann diesen wert zu der summe der davor addierten werte dazurechnet.

Geschrieben

Ja, das habe ich mir ja auch schon überlegt, theoretisch weiss ich auch was ich wie will, aber ich kenne die Befehle nicht.

Haste da evtl. mal ein Beispiel, nen Link oder so?

Habe vorher halt die 1. Tabelle mit WErten aus ner Exceldatei in die Wordtabelle gelesen, da schaut der, ob die Zeile frei ist und schreibt in die nächste freie, so ähnlich dachte ich das auch beim addieren, aber wie addiert man WORD-Spalteninhalte?

Vorangehender Code:

Private Sub WareBuchen_Click()

' Benötigte Ware aus Lagerbestand ausbuchen und in Worddokument eintragen (Bezeichnung, Menge, Einzelpreis und Gesamtpreis)

    Eingabe = TextBox2.Text


If Eingabe = IsNumeric(var1) Then


    Bestand = TextBox1.Text - TextBox2.Text

    If Bestand < 0 Then

        MsgBox "Maximal" & " " & TextBox1.Text & " " & "Stück vorhanden, bitte anderen Wert eingeben"

    Else

        j = ComboBox1.ListIndex + 2

        xl.worksheets(1).Cells(j, 2).Value = Bestand

        TextBox1.Text = xl.worksheets(1).Cells(j, 2).Value


        'Nächste noch leere Zeile im Worddokument wird gesucht

        For y = 10 To 2 Step -1

            If ActiveDocument.Tables(1).Cell(y, 1).Range.Text = vbCr & Chr(7) Then

                x = y

            'Else

            '   Set oTable = ActiveDocument.Tables(1)

            '   Set Zeile = oTable.Rows.Add

            End If

        Next

    ActiveDocument.Tables(1).Cell(x, 1).Range.Text = TextBox2.Text

    ActiveDocument.Tables(1).Cell(x, 2).Range.Text = ComboBox1.Text

    ActiveDocument.Tables(1).Cell(x, 3).Range.Text = xl.worksheets(1).Cells(j, 3).Value

    ActiveDocument.Tables(1).Cell(x, 4).Range.Text = xl.worksheets(1).Cells(j, 3).Value * TextBox2.Text

    MsgBox "Ware aus Lagerbestand ausgebucht"

    End If


Else:

    MsgBox "Bitte einen gültigen Wert eingeben"

End If

End Sub

Und aus diesem Teil will ich jetzt in eine 2. TAbelle die Summe der Spalte 4 (Gesamtbetrag der einzelnen Positionen) auslesen.

Btw. Was ich suche ist KEINE Hausaufgabe oder ähnliches, es geht einfach darum, daß ich es für mich gerne wissen will...

Geschrieben

Also nen Beispiel oder nen Link zu nem Beispiel kann ich dir leider nicht geben.

Aber ich würde es wohl mit entweder noch einer zweiten Schleife machen, welche das zusammenrechnet was in diese spalte steht, oder du fügst es gleich in deine schon vorhandene schleife ein.

Um die texte welche in der tabelle stehen zusammen addieren zu können, musste du diese erstmal in einen Zahlentyp umwandeln, dies kannst du entweder mit CInt(), wandelt den text in einen Integer um, oder CDbl(), wandelt den text in einen Double um.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...