MS-Project VBA-Programmierung

Nur die zusammenhängenden Vorgänge anzeigen

Der Vorgangspfad kennzeichnet zwar die zusammenhängenden Vorgänge, zeigt sie aber nicht allein an. Wnen zwischen den Vorgängen viele andre Zeilen liegen, bleibt es unübersichtlich. In meinem Makro habe ich das Problem gelöst.
Nur die zusammenhängenden Vorgänge anzeigen
Dieses Tutorial steht auch als PDF-Download (https://www.time4mambo.de/download/office) auf time4mambo zur Verfügung (allerdings ohne den letzten Absatz mit dem Makros). https://support.microsoft.com/de-de/office/feldfunktionen-ref-feld-b2531c23-05d6-4e3b-b54f-aee24447ceb2
Eigene Felder mit veränderbaren Text (Überarbeitet: Dezember 2021)
Das Tutorial steht auch als PDF-Datei zum Download auf time4mambo (https://www.time4mambo.de/download/office) bereit Optional … empfehle ich zunächst vorhandene Überschriften zu kopieren,
Gegliederte Überschriften in Word

Diagramm mit IST-/SOLL - Neg./Pos. Abweichung

Positive/Negative Abweichung in einem Excel-Diagramm
Diagramm mit IST-/SOLL - Neg./Pos. Abweichung

Excelliste mit bestimmter Hintergrundfarbe addieren

Mit VBA eine kleine Funktion programmieren, die Zahlen mit einer bestimmten Farbe summiert.
Excelliste mit bestimmter Hintergrundfarbe addieren
Eigentlich klingt das ganz einfach. Gibt schließlich sogar eine Befehlsschaltfläche um eine Excel-Tabelle in PowerPoint einzufügen. Aber da wir es mit Microsoft und einem starken Programm zu tun haben, gibt
Verschiedene Möglichkeiten Excel in PowerPoint einzufügen

Jetzt als kostenloses Onlinebook:

Seblod - Das Handbuch

Komplettabdruck der zweiten Auflage. (Fast) alles zum CCK Seblod! Der wohl mächtigsten Erweiterung von Joomla!
Seblod - Das Handbuch
Dieses Tutorial entstand ursprünglich für Dozenten und wurde während der Coronakrise geschrieben. Das ein oder andere Seminar fand auch statt. Um den Kolleginnen und Kollegen, die sich nicht so auskannten
Einführung in Microsoft Teams
In Joomla gibt es ein Modul, welches RSS-Feeds erzeugt, die andere abonnieren können. Das Problem ist nur, dass dieses Modul jeweils nur einen Feed für die gerade aktuelle Seite/Kategorie erzeugt.
RSS-Feeds kompakt ohne Erweiterung

Rechnung in Word - ohne Excel

Mit etwas einfacher Makroprogrammierung lässt sich in Word auch ohne Excel rechnen und somit eine Rechnung erstellen. Das Tutorial zeigt in mehreren Teilen, wie sich eine Rechnung mit allem Drum und Dran erstellen lässt.
Rechnung in Word - ohne Excel
Filter in zwei oder mehr Spalten zu setzen, die nicht voneinander abhängig sind, ist mit den Filtermöglichkeiten, die Excel bietet, nicht möglich. Angenommen Sie haben eine Tabelle mit ein paar Städten, zwei verschiedene Kategorien und zugehörigen Umsätzen. Aktivieren Sie über das Menüband Daten in der Gruppe Sortieren und Filtern den
Zwei Filter setzen mit ODER(...)
Die App kann bei https://www.time4mambo.de/download/seblod (https://www.time4mambo.de/download/seblod) downgeloadet werden ----------------- Mir gefiehlen die guten alten Weblinks von Joomla nicht, als ich diese Site relaunchte. Beispielsweise war es nicht möglich die Sprache der
SEBLOD: Weblinks mit automatisierten Screenshots

Excel-Lösungen

  • Tutorials zu Fragen rund um Excel
  • Teilweise mit Makroprogrammierungen.
  • Fertige Excel-Sheets mit Teillösungen zum Download
Excel-Lösungen
Dieses Tutorial steht auf time4mambo (https://www.time4mambo.de/download/office) als PDF zur Verfügung Einfache Rechnung Einzelpostenauflistung, Zwischensumme, Gesamtsumme und Mehrwertsteuer – für den Geschäftsmann
Rechnungserstellung mit Word und Excel
Seit Joomla 3 ist das CSS-Framework Bootstrap fester Bestandteil in Joomla und kann für eigene Templates somit einfach benutzt werden. Auf time4jaoomla erfahren Sie, wie es geht.
Bootstrap mit Joomla
Original-Auszug aus dem Buch Die Überlegung: Wir haben eine Kulturredaktion, der eine Kategorie zugeordnet ist. Und wir haben eine Politikredaktion, die in zwei Kategorien schreibt. Beide Redaktionen sollen nur ihre eigenen Beiträge bearbeiten, veröffentlichen und löschen können. Außerdem bekommen beide Redaktionen noch einen Chefreakteur zur Seite, der in allen
Fallbeispiel: Redaktionssystem
Schaut man sich das erste Mal einen CSS-Befehl an, führt das meistens zu einem panischen Weiterklicken, weil das alles sehr kompliziert ausschaut. Aber eigentlich ist es das nicht. Bei genauer Betrachtung ist CSS eigentlich sogar selbsterklärend und wenn man eine Weile damit umgegangen ist, geht es schon beinahe wie von
Wie funktioniert CSS
Das Tutorial steht auf time4mambo zum Download bereit: http://www.time4mambo.de/download/joomla/CommunityBuilder_v04-Joomla 3x.pdf (http://www.time4mambo.de/download/joomla/CommunityBuilder_v04-Joomla%203x.pdf) Dieses Tutorial ist ursprünglich für Joomla! 1.5 geschrieben worden. So ich es derzeit überblicke hat das Tutorial aber auch in
Community Builder
Dieses Tutorial und die zugehörige App stehen als Download auf http://www.time4mambo.de/webdesign/referenz.html (http://www.time4mambo.de/webdesign/referenz.html)
SEBLOD: Einführung am Beispiel eines selbsterstellten Portfolios
Grafische Rollovers mit dem JCE zu machen ist ja recht einfach, weil der JCE hier schon fertige Einstellmöglichkeiten sehr einfach mitbringt.Aber wie wird ein Rollover-Effekt bei einer Textmarke erzielt? Eigentlich genauso wie ein grafischer Rollover-Effekt - nur mit einem klitzekleinen Trick: Zunächst schreiben wir den Text: Lass uns was schreiben und mittendrin einen
Text-Rollover mit dem JCE

IST/SOLL mit Fehlerindikatoren

Ein Diagramm mit Fehlerindikatoren erstellen
IST/SOLL mit Fehlerindikatoren

Deutschsprachige Seblod-Community

Zu dritt haben wir die deutschsprachige SEBLOD™-Community gegründet. Neben Ressourcen und Webseiten , die mit SEBLOD™ gemacht sind, bieten wir ein Supportforum zu Fragen rund um SEBLOD™ an.

https://seblod.time4mambo.de


Selbst geschrieben: SEBLOD - Das Handbuch

Das Content-Management-System Joomla! stellt dem Anwender bereits eine breite Palette von Funktionen zur Ausgestaltung von Webauftritten bereit. Bei erfolgreichen Webseiten steigt mit der Zeit aber der Anspruch in Bezug auf Funktionalität. Es ist nur eine Frage der Zeit, bis Sie an die Grenzen von Joomla! stoßen. Entweder greifen Sie dann in den Programmcode ein oder setzen auf ein Content Construction Kit (CCK). Das mächtigste dieser Art ist SEBLOD®. Wie Sie damit die Grenzen von Joomla! sprengen, zeigt Ihnen das vorliegende Handbuch.

SEBLOD - Das Handbuch


Selbst geschrieben: Joomla für Redakteure

Amazon:
Dieses essential bietet speziell Redakteuren einen Einstieg in das Content Management System Joomla!. Losgelöst vom „Ballast“ der zahlreichen Einstellungen und Möglichkeiten, die in anderen Büchern thematisiert werden, wendet sich dieses Buch ausschließlich an die eigentlichen Endnutzer des Systems und konzentriert sich dabei auf das Schreiben und Veröffentlichen von Beiträgen. Der erfahrene Autor und Joomla!-Kenner Axel Tüting erklärt jeden Schritt praxisnah und verständlich.

Joomla für Redakteure


Para- und Nonverbale Kommunikation

Damit ist zum einen die Körpersprache gemeint und zum anderen die Art, wie wir kommunizieren. Zu letzterem gehören der Tonfall, Sprachmelodie, Artikulation, Sprechtempo und auch die Pausen zwischen den Wörtern.

Das reine Wort, der Inhalt, machen 7% unserer Kommunikation aus. Die para- und nonverbale Kommunikation zusammen 93%. Wie Sie 93% mehr Erfolg haben können, erfahren Sie auf dieser Website:

Körpersprache


Dankesagen...

Wenn die Tutorials dir weitergeholfen haben, dann kannst du mit einer kleinen Spende Danke sagen.

Schulungen

Langjährige Erfahrung als Dozent zu verschiedenen Themen.
Ich komme zu Ihnen in die Firma oder organisiere Räume vor Ort. Dazu steht mir ein Netzwerk aus vielen Jahren Tätigkeit als freier Dozent zur Verfügung.
Weitere Informationen, sowie Referenzen finden Sie auf der Firmenseite time4mambo

  •     VBA für Excel, Word und Outlook
  •     MS-Excel
        2003 / 2007 / 2010 / 2016 / 2019
  •     MS-Project
        2003 / 2007 / 2010 / 2016 / 2019
  •     MS-Word
        2003 / 2007 / 2010 / 2016 / 2019
  •     MS-PowerPoint
        2010 / 2016 / 2019
  •     Office 365
  •     Joomla! 3x
  •     Körpersprache

    Weitere Themen auf Anfrage

Interesse? Lust? Zeit? Dann freue ich mich über eine eMail oder Anruf.
Kontaktdaten im Impressum


Eine Übersicht der verwendeten Erweiterungen findet sich im Impressum

Rechnung in Word ohne Excel

Rechnungserstellung - Teil 1 - ohne Excel - Makroprogrammierung - Rechnen in Word

Word
2013

Eine Exceltabelle einbinden und mit ihr rechnen ist eine Möglichkeit. Es geht aber auch ganz ohne Excel. Eine Tabelle in Word und ein wenig Programmierung und es lässt sich damit eine individuelle Rechnung erstellen.

Es wird eine kleinere Serie zur Rechnungserstellung geben:

  • Im ersten Teil wird die Tabelle eingebunden und wir rechnen in dieser Tabelle. MwSt, Spesen, Honorar und die Summe aus allem
  • Im zweiten Teil wird dann die automatisch fortlaufende Rechnungsnummer erzeugt und gezeigt, wie sie eingebunden wird
  • Der dritte Teil beschäftigt sich mit Variationen der Rechnung: Mal mit, mal ohne MwSt - mal mit, mal ohne Spesen - so wie wir es brauchen und alles in einer Rechnungsvorlage
  • Im vierten Teil wird der Auftrag und die Rechnungsadresse automatisiert. Eine Vorlage für die wichtigsten Kunden und natürlich jederzeit völlig individualisiert - für Neukunden und die, die nicht so recht ins Schema passen...

Für Nicht-Programmierer habe ich erklärt, wie und wo der Code eingebunden werden muss, wenn Sie mit Kopie/Paste arbeiten möchten (wobei der untere Teil mit der Makroausführung entfällt):

Den Code eingeben

 

This Document

Code direkt eingeben:

Wenn Sie Ihre Vorlage geöffnet haben, benutzen Sie folgendes Tastaturkürzel, um in den VBA-Editor zu gelangen:

ALT+F11

Links sollten Sie den Projektmanager sehen. Falls nicht, im Menü ganz oben Ansicht anklicken und Projekt-Explorer anklicken. Dort klicken Sie dann auf "ThisDocument", welches innerhalb Ihrer Vorlage liegt.

Rechts daneben ist die Codeeingabe. Dort kopieren sie einfach meinen ganzen Code hinein und drücken oben links auf Speichern.

Wenn Sie dann ein neues Dokument auf Basis Ihrer Vorlage starten, dann können Sie in Zukunft Ihre Rechnung ganz ohne Excel in Word erstellen lassen.

Schnellzugriffsleiste anpassen

Wie das Makro zum laufen gebracht wird:

Solange nichts in den Tabellen steht, lässt es sich schlecht rechnen. Darum funktioniert dieses Makro erst, wenn es explizit gestartet wird.

Wechseln Sie (nachdem Sie den Code eingegben haben, da es sonst nicht funktioniert), in die Optionen (Menüband Datei) und dort in "Symbolleiste für den Schnellzugriff". Oben Links sehen Sie eine Pulldown-Auswahl, die Standardmäßig auf "Häufig verwendete Befehle" steht. Wählen Sie dort die "Makros" aus. In der Liste sollte zumindest das eben eingebene Makro stehen. Vermutlich steht dort neben einem kleinen Icon Normal.Modul1.RechnungsTabelle. Diesen Namen ankllicken und auf Hinzufügen klicken. Nun klicken Sie einmal rechts in der Liste das eben zugefügte Makro an und klicken unten auf "Ändern..." Nun können Sie zum einen ein Icon auswählen und den Text ändern, der im Tooltip zu dem Makro angezeigt wird.

Haben Sie alles eingestellt, klicken Sie auf "OK". In Ihrer Schnellzugriffsleiste steht nun Ihr neues Icon, welches nach anklicken das Makro startet und die Rechnung berechnet.

Sub RechnungsTabelle()
On Error GoTo Fehler

Dim Zahl As Word.Table
Dim Rechnung(2) As Integer
Dim Summe As String
Dim MwstHono As Integer, MwstSpes As Integer


Set Zahl = ActiveDocument.Tables(1)

'Zwischensummen auslesen
Rechnung(1) = SteuerungsZeichenWeg(Zahl.Cell(1, 2).Range.Text)
Zahl.Cell(1, 2).Range.Text = Format(Rechnung(1), "#,##0.00 \€")
Rechnung(2) = SteuerungsZeichenWeg(Zahl.Cell(4, 2).Range.Text)
Zahl.Cell(4, 2).Range.Text = Format(Rechnung(2), "#,##0.00 \€")


'MwSt berechnen
MwstHono = Rechnung(1) * 0.19
Zahl.Cell(2, 2).Range.Text = MwstHono
Zahl.Cell(2, 2).Range.Text = Format(MwstHono, "#,##0.00 \€")
MwstSpes = Rechnung(2) * 0.19
Zahl.Cell(5, 2).Range.Text = MwstSpes
Zahl.Cell(5, 2).Range.Text = Format(MwstSpes, "#,##0.00 \€")

'Gesamtsumme berechnen
Summe = Rechnung(1) + Rechnung(2) + MwstHono + MwstSpes
Zahl.Cell(8, 2).Range.Text = Summe
Zahl.Cell(8, 2).Range.Text = Format(Summe, "#,##0.00 \€")


Exit Sub
Fehler:
MsgBox Err.Description
Resume Next
End Sub

Function SteuerungsZeichenWeg(ByVal Inhalt As String) As String
SteuerungsZeichenWeg = Left(Inhalt, Len(Inhalt) - 2)
End Function

Zunächst der ganze Code im Überblick. Wer nicht so erfahren ist in der Programmierung: keine Angst, es sieht schlimmer aus, als es ist. Wer mit Programmierung gar nichts anfangen kann, dem habe ich den fertigen Code zum Download bereit gestellt. (das paassiert in auch tatsächlich in Kürze...) Beachten Sie dazu bitte den Tab "Dokumentation".

Was Sie zunächst machen müssen: ein neues Dokument anlegen. Dieses speichern Sie als Vorlage mit Makros in Word ab.

word rechnung vorlage speichern

 

 In dieser Vorlage muss eine Tabelle drin sein. In meinem Beispiel arbeite ich mit einer 2-spaltigen und 8-zeiligen Tabelle. Der Aufbau:

In Spalte 1 steht jeweils die Beschriftung und in Spalte 2 wird gerechnet, bzw. die einzelnen Summen eingegeben.
In den ersten beiden Zeilen steht die Summe plus zugehöriger MwSt., eine Zeile frei und dann die Spesen plus MwSt., zwei Zeilen frei und die Gesamtsumme aus den vier Posten.

Der Code im Detail:

 

Dim Zahl As Word.Table
Dim Rechnung(2) As Integer
Dim Summe As String
Dim MwstHono As Integer, MwstSpes As Integer


Set Zahl = ActiveDocument.Tables(1)

In Word können unter anderem die Tabellen eines Dokuments einzeln angesprochen werden. Damit das funktioniert deklariere ich zunächst eine Objektvariable als Word.Table. Dieser Objektvariable weise ich dann die Tabelle zu, die in meinem Beispieldokument den Index 1 trägt ( Set Zahl = ActiveDocument.Tables(1) ). Haben Sie mehrere Tabellen in Ihrem Dokument dann müssen Sie die von oben nach unten durchzählen und übergeben den Index der Tabelle, die die Berechnungen enthält. Wie gesagt: ich habe nur eine Tabelle in meiner Vorlage und übergebe daher den index "1".

Rechnung(2) ist ein kleines Array, in dem ich dann die Summen zwischenspeichere, um leichter rechnen zu können.

Die anderne Variablen sprechen für sich, wie ich denke.

 

Rechnung(1) = SteuerungsZeichenWeg(Zahl.Cell(1, 2).Range.Text)
Zahl.Cell(1, 2).Range.Text = Format(Rechnung(1), "#,##0.00 \€")
Rechnung(2) = SteuerungsZeichenWeg(Zahl.Cell(4, 2).Range.Text)
Zahl.Cell(4, 2).Range.Text = Format(Rechnung(2), "#,##0.00 \€")

Meiner Array-Variablen Rechnung(1) weise ich denn auch zunächst den Wert zu, der in der Tabelle in Spalte 2 und Zeile 1 steht. Allerdings hat Word das Problem, dass in der Tabelle nicht der "reine" Wert steht, sondern ein Wert mit einem Steuerungszeichen am Ende. Das können Sie sehen, wenn Sie sich den Tabellenwert mit einer Messagebox anzeigen lassen:

MsgBox Zahl.Cell(1,2).Range.Text

ergibt diese Anzeige:

msgbox

 
Der schwarze Punkt unter der Zahl symbolisiert das Steuerungszeichen.

Mit einem Steuerungszeichen hinter der Zahl lässt sich natürlich nicht rechnen. Also muss das entfernt werden. Leider bleibt es aber auch nach dem entfernen in der Tabelle mit dem Steuerungszeichen stehen, weshalb wir die bereinigte Zahl einer Variablen - in meinem Fall einem Array - zuweisen müssen.

Da ich die Bereinigung mehrmals benötige, habe ich mir dafür eine kleine Funktion geschrieben, die ich zunächst in dieser Zeile aufrufe:

Rechnung(1) = SteuerungsZeichenWeg(Zahl.Cell(1, 2).Range.Text)

Die Funktion erkläre ich Ihnen gleich. Die Zeile darunter macht nichts weiter, als die Tabellenzelle als Währungsfeld in Euro zu formatieren.

Aber kommen wir jetzt zur Funktion SteuerungsZeichenWeg

 

Function SteuerungsZeichenWeg(ByVal Inhalt As String) As String
SteuerungsZeichenWeg = Left(Inhalt, Len(Inhalt) - 2)
End Function

An diese Funktion übergebe ich den Inhalt meiner Tabellenzelle. Obwohl dort eine Zahl drin steht, wird in der Tabelle von Word diese Zahl als Zeichenkette (String) formatiert. Wobei das in diesem Fall auch gut so ist, da die Länge des Steuerungszeichen 2 einnimmt. Also reduziere ich einfach die Länge des Wertes um 2 was ich mit Left(Inhalt, Len(Inhalt) - 2) mache  und gebe den Wert der Funktionsvariablen zurück, die ihrerseits den "gesäuberten" Wert an den Aufruf zurückgibt und schließlich in unser Array Rechnung(1) schreibt.

 

 

MwstHono = Rechnung(1) * 0.19
Zahl.Cell(2, 2).Range.Text = MwstHono
Zahl.Cell(2, 2).Range.Text = Format(MwstHono, "#,##0.00 \€")
MwstSpes = Rechnung(2) * 0.19
Zahl.Cell(5, 2).Range.Text = MwstSpes
Zahl.Cell(5, 2).Range.Text = Format(MwstSpes, "#,##0.00 \€")

Nun muss noch die Mehrwertsteuer berechnet werden. Das geht jetzt ganz einfach, in dem ich den Wert im Array-Element mit 0,19 multipliziere. Das Ergebnis weise ich dann der passenden Tabellenzelle zu und formatiere die Zelle noch als Währung.

Summe = Rechnung(1) + Rechnung(2) + MwstHono + MwstSpes
Zahl.Cell(8, 2).Range.Text = Summe
Zahl.Cell(8, 2).Range.Text = Format(Summe, "#,##0.00 \€")

Zuletzt muss noch die Gesamtsumme berechnet werden. Dazu brauche ich nur meine beiden Array-Elemente plus den beiden Mehrwertsteuern addieren und in die Zelle mit passender Formatierung zu schreiben.

Fertig ist unsere Rechnung.


webdesign von time4mambo

www.time4joomla.de is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.