Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi Leute,

ic habe ein Problem. Ich habe in Word eine dynamisch Tabelle für eine Rechnung. An den unteren Enden der Tabelle, sollen Zwischensumme, Mehrwertsteuer und Endsumme errechnet werden. Jetzt habe ich schon eine Lösung für die Zwischensumme und die Mehrwertsteuer gefunden, aber mit der Endsumme hakt es noch. Wer kann mir helfen, wie ich meinem Makro beibringe, dass er nur die 2 Zellen über der Zelle zusammenrechnet ?

Geschrieben

Dazu hast leider n bissl wenig geschrieben find ich.

Was fuer ne Art von Tabelle hast denn in Word eingefuegt und wie berechnest du deine bisherigen Summen?

Goos

Geschrieben

Also ich habe eine Tabelle von Word eingefügt. Die bisherigen Summen berechne ich über folgende Formel: SUM(ÜBER), da heißt also, dass ich die Summe aus den darüber liegenden Zellen bilde. Die Mehrwertsteuer bilde ich folgendermassen: (SUM(ÜBER)*0,16)/2

Ich muß jetzt nur wissen, wie ich genau diese beiden in einer dynamischen Tabelle anspreche. Wäre das eine statische Tabelle ginge es ja ähnlich wie in Excel (=sum c6:c8 (um die summe der Zelleninhalte von c6 bis c8zu bilden)).

Geschrieben

Du hast oben von Makro gesprochen?!?

Machst das also alles per VBA?...in dem Fall koennt ich dir wohl helfen. Falls du aber irgendwelche Formeln ins Dokument einbaust, hab ich kaum Ahnung.

Goos

Geschrieben

Dann sei doch so nett und erkläre mir das mit VBA, weil das mit den Formeln gefällt mir auch nicht so. Das Makro hat aber nicht für jede Zelle eine Variable, sondern geht durch eine Do-While-Schleife, deren Anzahl an durchläufen zu Beginn vom Benutzer festgelegt wird. Deshalb verscuhe ich ja die Werte aus den Zellen zu ziehen und nicht direkt über VBA zu bverechnen.

Geschrieben

Also wenn ich dich halbwegs richtig vestanden hab, dann geht das so in der Art:

Sub Makro3()
Dim wert As Integer
Set myTable = ActiveDocument.Tables(1)
wert = Val(myTable.Cell((myTable.Rows.Count - 2), myTable.Columns.Count)) + Val(myTable.Cell((myTable.Rows.Count) - 1, myTable.Columns.Count))
myTable.Cell(myTable.Rows.Count, myTable.Columns.Count).Range = wert
End Sub[/PHP]

damit werden dann in der letzten Spalte die vorletzte zelle und die davor zusammengezaehlt und in die letzte geschrieben.

Ich hoff, dass es dir weiterhilft...sonst meld dich halt noch.

Goos

Geschrieben

nuja das ist so auf die Entfernung schwer zu sagen.

Fehler bekommst aber keinen, oder?

Was fuer Zahlen sind denn in den Zellen?...ich bin ja jetzt mal einfach von Integer ausgegangen.

...und dieses ActiveDocument.Tables(1) muss ja auch nicht passen.....vielleicht hast ja noch mehr Tabellen in deinem Dokument. Es ist also alles in allem nicht einfach zu sagen, wieso du 0 rauskriegst.

Goos

Geschrieben

Ich habe eine Vermutung, warum da 0 rauskommt und zwar: Der Funktionsname Val wandelt Zeichenketten in Zahlen um. Bei den oberen Zellen handelt es sich aber ausdrücklich um Zahlen. Kann das so einigermassen stimmen ???

Geschrieben

Aehm ich weiss nicht ob ich dir genau folgen kann, aber so wie ich das versteh wuerd ich nein sagen. Wenn du doch schon Zahlen hast dann wandelt die Val() auch in Zahlen um, bzw tut halt gar nichts :)

Falls du dich mit dem Debugger auskennst, dann schau doch mal rein, was so an Werten zurueckgeliefert wird.

Goos

Geschrieben

Wollte nursagen, dass ich es geschafft habe. Es war nicht die letzte sondern die vorletzte "Column".

Also musste ich bei Count.Columns noch -1 dazuschreiben.

Trotzdem Danke für deine Mühe.

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...