Toptorials Tutorials WeblogoLogobild kleinLogobild kleinToptorials Tutorials Weblogo
  • ALLE THEMEN IM ÜBERBLICK
  • YouTube
  • INFOS
    • SITEMAP
    • ÜBER TOPTORIALS
✕
            No results See all results

            Excel VBA Kurs – Teil 02: Zellen auslesen, addieren & Ergebnis schreiben

            • Startseite
            • Tutorials Microsoft Office Excel Excel VBA
            • Excel VBA Kurs – Teil 02: Zellen auslesen, addieren & Ergebnis schreiben

            Zellen auslesen, addieren & Ergebnis schreiben

            In diesem zweiten Tutorial starten wir mit dem Programmieren in einem VBA-Modul und bauen ein erstes, sehr praktisches Makro: Wir lesen zwei Zellwerte aus (A1 und B1), addieren sie und schreiben das Ergebnis in eine dritte Zelle (C1). Damit lernst du direkt die wichtigsten Grundlagen: Zellen auslesen, mit Variablen arbeiten und Ergebnisse in Zellen zurückschreiben.

            Anschließend erweitern wir das Makro um eine einfache Eingabeprüfung: Falls in A1 oder B1 keine Zahl steht, zeigt VBA eine MessageBox mit einer verständlichen Warnung an und bricht das Makro sauber ab. So siehst du nicht nur, wie ein Makro funktioniert, sondern auch, wie man es direkt robuster und benutzerfreundlicher macht.

            Voraussetzung: Bitte zuerst Teil 1 anschauen (Entwicklertools aktivieren, Modul anlegen, Option Explicit). Den Link findest du hier:

            Excel VBA Kurs – Teil 01: Start mit Hello World – Modul, Makro, Option Explicit

            ⬇️ Den vollständigen Code kannst du weiter unten über den Downloadlink herunterladen.

            Achtung:

            Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.

            Fertiger Aufbau

            Vor der Berechnung:

            VBA Script vor der Berechnung

            VBA Script vor der Berechnung

            Nach der Berechnung:

            VBA Script nach der Berechnung

            VBA Script nach der Berechnung

            Wenn Ihr das Script ausführt, wird Zelle A1 und B1 addiert und das berechnete Ergebnis in Zelle C1 eingetragen.

            Im ersten Code AddiereZweiZellen() gibt es keine Überprüfung, deshalb ist es wichtig auch wirklich Zahlen in Zelle A1 und B1 einzutragen, weil Ihr ansonsten einen Laufzeitfehler bekommt.

            Im zweiten Code überprüfen wir den Code auf Zahlen und geben einen Hinweis wie im nachfolgenden Bild aus, wenn es keine Zahlen sind die eingetragen wurden.

            VBA Script wenn keine Zahlen eingetragen wurden

            VBA Script wenn keine Zahlen eingetragen wurden

            Code Zeile für Zeile AddiereZweiZellen()

            Option Explicit

            Erzwingt, dass jede Variable vorher deklariert werden muss. Dadurch werden Tippfehler in Variablennamen nicht stillschweigend akzeptiert, sondern sofort als Fehler erkannt.

            Public Sub AddiereZweiZellen()

            Start einer Sub-Prozedur (Makro) mit dem Namen AddiereZweiZellen. Public bedeutet, dass die Prozedur von außen aufrufbar ist – z. B. über die Makroliste oder über einen Button, dem dieses Makro zugewiesen wurde.

            Dim a As Double

            Legt die Variable a an und definiert sie als Datentyp Double. Double ist eine Zahl mit Nachkommastellen und eignet sich gut für Rechenoperationen.

            Dim b As Double

            Legt die Variable b ebenfalls als Datentyp Double an.

            a = Range("A1").Value

            Liest den Wert aus Zelle A1 des aktuell aktiven Arbeitsblatts aus und speichert ihn in der Variablen a.

            b = Range("B1").Value

            Liest den Wert aus Zelle B1 des aktuell aktiven Arbeitsblatts aus und speichert ihn in der Variablen b.

            Range("C1").Value = a + b

            Addiert die beiden Variablen a und b und schreibt das Ergebnis als Wert in die Zelle C1 des aktuell aktiven Arbeitsblatts.

            End Sub

            Beendet die Sub-Prozedur. Alles zwischen Sub ... und End Sub gehört zu diesem Makro.

            Code Zeile für Zeile AddiereZweiZellen_Sicher()

            Public Sub AddiereZweiZellen_Sicher()

            Start einer zweiten Sub-Prozedur mit dem Namen AddiereZweiZellen_Sicher. Diese Variante enthält zusätzlich eine Eingabeprüfung und reagiert mit einer Meldung, wenn in den Zellen keine Zahlen stehen.

            Dim v1 As Variant, v2 As Variant

            Legt zwei Variablen v1 und v2 als Datentyp Variant an. Variant kann verschiedene Arten von Werten aufnehmen (z. B. Zahl, Text, leer). Das ist praktisch, weil Zellwerte nicht immer automatisch als Zahl vorliegen.

            Dim a As Double, b As Double

            Legt die Variablen a und b als Double an. In diese Variablen werden später die geprüften und umgewandelten Zahlenwerte gespeichert, damit zuverlässig gerechnet werden kann.

            v1 = Range("A1").Value

            Liest den Wert aus A1 und speichert ihn in v1 – unabhängig davon, ob es sich um Zahl, Text oder leeren Inhalt handelt.

            v2 = Range("B1").Value

            Liest den Wert aus B1 und speichert ihn in v2.

            If Not IsNumeric(v1) Or Not IsNumeric(v2) Then

            Prüft, ob v1 und v2 numerische Werte sind.

            • IsNumeric(v1) liefert True, wenn v1 als Zahl interpretiert werden kann.

            • Not kehrt das Ergebnis um.

            • Or bedeutet: Wenn mindestens eine der beiden Bedingungen zutrifft (also mindestens einer der Werte keine Zahl ist), wird der folgende Block ausgeführt.

            MsgBox "Bitte in A1 und B1 Zahlen eingeben.", vbExclamation, "Ungültige Eingabe"

            Zeigt eine Meldung an den Benutzer an. Die Parameter bedeuten:

            • Text: „Bitte in A1 und B1 Zahlen eingeben.“ (Hinweistext im Dialog)

            • vbExclamation: Warnsymbol (gelbes Ausrufezeichen) – signalisiert „Achtung“

            • "Ungültige Eingabe": Titel des Dialogfensters

            Exit Sub

            Beendet die Prozedur sofort an dieser Stelle. Dadurch wird verhindert, dass der Code mit ungültigen Eingaben weiterrechnet und ggf. einen Fehler auslöst.

            End If

            Beendet den If ... Then-Block. Ab hier läuft das Makro nur weiter, wenn beide Werte numerisch sind.

            a = CDbl(v1)

            Wandelt den Inhalt von v1 explizit in den Datentyp Double um (CDbl = Convert to Double) und speichert das Ergebnis in a. Das sorgt für eine eindeutige Zahl, mit der zuverlässig gerechnet werden kann.

            b = CDbl(v2)

            Wandelt den Inhalt von v2 explizit in Double um und speichert das Ergebnis in b.

            Range("C1").Value = a + b

            Addiert die beiden Double-Werte a und b und schreibt das Ergebnis in C1.

            End Sub

            Beendet die Sub-Prozedur AddiereZweiZellen_Sicher. Alles zwischen Public Sub ... und End Sub gehört zu diesem Makro.


            Download Dateien:

            Alle Inhalte und Codebeispiele auf dieser Seite dienen ausschließlich zu Lern- und Demonstrationszwecken. Die Anwendung erfolgt auf eigenes Risiko. Ich übernehme keine Gewähr für Richtigkeit, Vollständigkeit oder Eignung für einen bestimmten Zweck und keine Haftung für direkte oder indirekte Schäden (z. B. Datenverlust), die durch das Ausführen, Verwenden oder Anpassen des Codes entstehen. Bitte erstelle vorab ein Backup und teste den Code zunächst in einer separaten Testdatei, bevor du ihn in produktiven Arbeitsmappen einsetzt.

            Download VBA-Tutorial-Addieren-mit-MsgBox Excel Datei mit Makro

            Download VBA-Tutorial-Addieren-mit-MsgBox nur VBA-Code als Text zum-Kopieren

            Video zu diesem Tutorial:

             

            Das könnte Dich auch interessieren

            • Arbeitsmappe erstellen und speichern in Excel VBA
            • Auf Zellen zugreifen mit Cells in Excel VBA
            • Do Loop Schleife in Excel VBA
            • Eine eigene Funktion erstellen ganz einfach (Excel)
            • Entwicklertools anzeigen / Makro / VBA Visual Basic (Microsoft Word)
            • Excel VBA Kommentare schreiben
            • For Each Schleife in Excel VBA
            • For Next Schleife in Excel VBA
            • Hello World mit Excel VBA programmieren

            Schreibe einen Kommentar Antwort abbrechen

            Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

            Mehr von mir über Excel

            • Übersichts-Liste der Microsoft Excel Tutorials
            • Tutorials über Microsoft Excel
            • Excel
            • Excel VBA
            • Alle meine Videos auf YouTube
            • Tutorial Wunsch Liste

            Neue Beiträge

            • Excel VBA Kurs – Teil 04: Dynamischen Bereich summieren & Nicht Zahlen markieren
            • Excel VBA Kurs – Teil 03: Zahlen in einem Bereich sicher summieren
            • Excel VBA Kurs – Teil 02: Zellen auslesen, addieren & Ergebnis schreiben
            • Excel VBA Kurs – Teil 01: Start mit Hello World – Modul, Makro, Option Explicit
            • Python in LibreOffice Calc: Formular auslesen und auswerten

            Neue Kommentare

            • Chris bei Eine eigene Funktion erstellen (OpenOffice Calc)
            • osman bei Eine eigene Funktion erstellen (OpenOffice Calc)
            • Erdmann bei Wochentag von einem Datum ausgeben (LibreOffice Calc)
            • Chris bei Tutorial Wunsch Liste
            • Sabine Kniffka bei Tutorial Wunsch Liste

            Schlagwörter – Wolke

            anfänger Anleitung anpassen ausrechnen auswahlliste Bedingte Formatierung berechnen Calc Datum Download Dropdownliste einfügen entfernen erstellen Excel FreeOffice Funktion google hinzufügen Jahresplan Kalender Lernvideo LibreOffice löschen Makro markieren Microsoft OpenOffice PlanMaker programmierung script spreadsheets Sverweis Tabelle tabellen Tutorial VBA Video Wenn Wenn Funktion Word wps spreadsheets Zeilen Zelle Zellen
            KONTAKT   IMPRESSUM    DATENSCHUTZERKLÄRUNG    HAFTUNGSAUSSCHLUSS (Disclaimer)   © copyright TOPTORIALS