Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

per makro prüfen ob in zelle Formel enthalten ist

Forumthread: per makro prüfen ob in zelle Formel enthalten ist

per makro prüfen ob in zelle Formel enthalten ist
22.08.2003 09:20:24
Andi_H
hallo zusammen,

ich möchte einen bereich meines sheets überprüfen ob in einzelnen Zellen eine Formel enthalten ist. Die Schleifen und alles sind bereits fertig, nur die Prüfung fehlt noch. Wie kann man dies in VBA umsetzen, gibts sowas wie Isformula?

Gruß und danke,

andi
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per makro prüfen ob in zelle Formel enthalten ist
22.08.2003 09:25:27
Stephan
Hi Andi !

Ja! Heisst, HasFormula

HasFormula-Eigenschaft: True, wenn alle Zellen im Bereich Formeln enthalten. False, wenn keine Zelle im Bereich eine Formel enthält. Ansonsten hat die Eigenschaft den Wert Null. Variant Nur-Lese-Zugriff.

Viel Erfolg


Dankeschön!!!
22.08.2003 09:32:35
Andi_H
Klappt bestens, vielen Dank Stephan


Anzeige
AW: per makro prüfen ob in zelle Formel enthalten ist
22.08.2003 09:26:34
WernerB.
Hallo Andi,

das Zauberwort heißt "HasFormula".


Gruß WernerB.


Vielen Dank o.t.
22.08.2003 09:33:42
Andi_H


Anzeige

Infobox / Tutorial

Überprüfung von Zellen auf Formeln mit Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel zu überprüfen, ob in bestimmten Zellen Formeln enthalten sind, kannst du die HasFormula-Eigenschaft in VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" klickst und "Einfügen" > "Modul" auswählst.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub CheckIfFormulaExists()
       Dim cell As Range
       Dim rng As Range
    
       ' Definiere den Bereich, den du überprüfen möchtest
       Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A10")
    
       For Each cell In rng
           If cell.HasFormula Then
               Debug.Print cell.Address & " enthält eine Formel."
           Else
               Debug.Print cell.Address & " enthält keine Formel."
           End If
       Next cell
    End Sub
  4. Ändere den Bereich A1:A10 und den Namen des Blattes nach Bedarf.

  5. Schließe den VBA-Editor und führe das Makro aus, um die Überprüfung zu starten.


Häufige Fehler und Lösungen

  • Fehler: „Objektvariable nicht festgelegt“

    • Lösung: Stelle sicher, dass du den richtigen Bereich und das richtige Blatt angegeben hast.
  • Fehler: „HasFormula ist nicht definiert“

    • Lösung: Überprüfe, ob du die richtige Zelle in einer Schleife ansprichst und ob diese Zelle tatsächlich existiert.

Alternative Methoden

Eine alternative Methode zur Überprüfung, ob eine Zelle eine Formel enthält, ist die Verwendung der Formula-Eigenschaft. Hier ist ein Beispiel:

If cell.Formula <> "" Then
    Debug.Print cell.Address & " enthält eine Formel."
End If

Diese Methode eignet sich gut, wenn du auch den Inhalt der Formel analysieren möchtest.


Praktische Beispiele

Angenommen, du möchtest nicht nur wissen, ob eine Zelle eine Formel enthält, sondern auch alle Zellen auflisten, die dies tun. Hier ist ein erweitertes Beispiel:

Sub ListFormulas()
    Dim cell As Range
    Dim rng As Range
    Dim formulaList As String
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A10")

    For Each cell In rng
        If cell.HasFormula Then
            formulaList = formulaList & cell.Address & vbCrLf
        End If
    Next cell

    If formulaList = "" Then
        MsgBox "Keine Formeln gefunden."
    Else
        MsgBox "Die folgenden Zellen enthalten Formeln:" & vbCrLf & formulaList
    End If
End Sub

Tipps für Profis

  • Nutze die IsFormula-Funktion in Kombination mit anderen Bedingungen, um komplexere Logik in deinen VBA-Skripten zu implementieren.
  • Halte deinen Code sauber und füge Kommentare hinzu, um die Lesbarkeit zu verbessern.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen HasFormula und IsFormula?
HasFormula ist eine Eigenschaft, die angibt, ob eine Zelle eine Formel enthält. IsFormula ist kein direktes VBA-Keyword, wird aber oft als Synonym verwendet.

2. Wo finde ich die HasFormula-Eigenschaft?
Die HasFormula-Eigenschaft ist in VBA verfügbar, wenn du auf Zellenobjekte zugreifst. Du kannst sie in jeder Zelle verwenden, um zu überprüfen, ob eine Formel vorhanden ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige