rudolf-maier
Goto Top

Berechnende Felder in Powerpoint möglich ?

Hallo,

wir haben in der Firma eine bestehende PPT Präsentation die für bestimmte
Finanzierungsformen verwenden.
Da viele Felder immer manuell berechnet und ausgebessert werden müssen
würde ich dies gerne über berechnende Felder ändern.
Leider hab ich nicht herausgefunden ob das möglich ist. Wenn es gar nicht
anders geht evtl. auch in Verbindung mit Excel.
Aber eigentlich möchte ich es so einfach halten für den User wie möglich.

Danke für die Hilfe schon im Voraus.

Maier Rudi

Content-ID: 91263

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

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

misterdemeanor
misterdemeanor 03.07.2008 um 21:44:03 Uhr
Goto Top
Mahlzeit Maier Rudi!

Inwiefern "Felder" in Powerpoint berechnend sein können weiß ich nicht. Vor Gericht würden Sie sicher als unzurechnungsfähig oder höchstens für grob fahrlässig eingestuft werden face-smile

Scherz bei Seite

Bevor man Dir echte Ratschläge oder Lösungsansätze präsentieren kann müsste man mehr erfahren:

  1. Meinst Du mit "Felder" einfache Textfelder auf Folien?
  2. Wie sollen diese Felder denn berechnet werden? Gibt es evtl. bestimmte Datenquellen (Datenbank, Textdatei, etc.) auf die zugegriffen werden muss?
  3. Wie sieht es mit Deinen VBA Kenntnissen aus?

Am besten Du schreibst mal ausführlich alles über Deine Problemstellung.

BG, Felix -misterdemeanor
stiehl
stiehl 03.07.2008 um 22:24:41 Uhr
Goto Top
Moin,

füge doch einfach ein Excel-Sheet als Objet in PP ein. Das müsste funktionieren.

Gruß

Tim
rudolf-maier
rudolf-maier 07.07.2008 um 19:48:16 Uhr
Goto Top
Servus misterdemeanor,

die Präsentation wird ausgedruckt und dann an die Kunden ausgehändigt.
Es soll z.b. aus einem Bruttobetrag die MWST berechnet werden und dann die Nettokosten.
Gewisse Angaben sind also gegeben, mit denen soll dann gerechnet werden, und das Ergebniss in der Präsentation angezeigt werden. Ähnlich wie ein Textfeld nur das der Inhalt halt automatisch drinsteht. Bisher rechnen wir das immer mitn Taschenrechner und tragen das ein.
Das is halt sehr aufwendig und es passieren auch Fehler.
Am besten wäre es wenn die Angaben direkt z.B. auf die erste Seite der Präsentation stehen würden und mann dann jeweils darauf zugreifen kann.
Wenn das nicht geht dann können die Angaben auch ins Excel oder Access eingetragen werden. Das halt dann schon wieder mehr Aufwand, den ich gerne umgehen möchte.
VBA kentnisse habe ich. Zwar schon länger nicht`s mehr gemacht, aber das bekomme ich dann schon hin.

MFG Rudi
misterdemeanor
misterdemeanor 07.07.2008 um 21:09:43 Uhr
Goto Top
Grüß Dich rudolf-maier!

So wie ich Dich verstehe ist diese PPT eine Art Vorlage die Ihr jeweils individuell für einen Kunden anpasst.

Es soll z.b. aus einem Bruttobetrag die MWST berechnet werden und dann die Nettokosten.

OK, aber die Frage die sich mir noch immer stellt: Woher kommt der Bruttobetrag?

Es wäre ohne weiteres möglich mittels einer VBA Funktion Textfelder zu manipulieren.
Wie in Deinem erwähnten Beispiel die MWSt und den Nettobetrag zu errechnen und diese Werte in die dafür vorgesehenen Textfelder auf einer Folie zu schreiben.

Dazu am besten ein kleines Beispiel. Sagen wir das in einer Präsentation auf den Folien 3 und 4 jeweils die Felder MWSt und Nettobetrag neu berechnet werden:

Public Sub BerechneMWStUndNetto()
    'Die beiden Shapes repräsentieren die Textfelder  
  Dim shMWSt As Shape
  Dim shNetto As Shape
    'Nimmt den Bruttobetrag auf mit dem gerechnet werden soll  
  Dim dBrutto As Double
    
      'Irgendwoher müssen wir ja den Betrag bekommen.  
      'Also z.B. über direkte Nachfrage beim User:  
    dBrutto = CDbl(InputBox("Was´N der Bruttobetrag?.", "Sach mal..."))  
    
      'Hier erstmal die shapes auf die Textfelder von Folie 3 setzen  
    Set shMWSt = ActivePresentation.Slides("Slide3").Shapes("Text Box 5")  
    Set shNetto = ActivePresentation.Slides("Slide3").Shapes("Text Box 6")  

      'Nun könen wir anhand des Bruttobetrages rechnen  
      'und die Textfelder entsprechend setzen  
    shMWSt.TextFrame.TextRange.Text = (dBrutto / 1.19) * 0.19
    shNetto.TextFrame.TextRange.Text = dBrutto / 1.19
    
      'und das gleiche nochmal für Folie 4  
    Set shMWSt = ActivePresentation.Slides("Slide4").Shapes("Text Box 7")  
    Set shNetto = ActivePresentation.Slides("Slide4").Shapes("Text Box 8")  
    shMWSt.TextFrame.TextRange.Text = (dBrutto / 1.19) * 0.19
    shNetto.TextFrame.TextRange.Text = dBrutto / 1.19
    
    Set shMWSt = Nothing
    Set shNetto = Nothing
End Sub

Die Namensgebung der Textfelder ("Text Box 5", "Text Box 6", etc.) stammt von Powerpoint. Also müsstest Du ertmal die Namen der betreffenden Textfelder herausbekommen.
Man könnte diese dann mittels VBA einmalig ändern, also z.B.:

ActivePresentation.Slides("Slide3").Shapes("Text Box 5").Name = "txtMWSt"  

was die Lesbarkeit des Codes natürlich enorm verbessern würde...

OK, sag mal Bescheid ob Du damit was anfangen kannst.

BG, Felix -misterdemeanor-

[EDIT]
Hofftl. hat das niemand bemerkt...hatte irgendwie N Knoten im Gedanken und was völlig falsches berechnet.
Hab das mal schnell im Code geändert.
[/EDIT]
rudolf-maier
rudolf-maier 16.07.2008 um 20:56:57 Uhr
Goto Top
Hi,

hab eine Laufzeitfehler:
This type of shape cannot have a textRange
in der Zeile:
shMWSt.TextFrame.TextRange.Text = (dBrutto / 1.19) * 0.19

Kannst du mir Helfen ?

Danke !