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

Forumthread: Unterschied "#If" und "if"? Wofür braucht man das "#"?

Unterschied "#If" und "if"? Wofür braucht man das "#"?
06.12.2019 15:06:16
ChrisW
Hallo Leute,
ich habe beim suchen nach suche der "Declare" Anweisung VBA Code gefunden der vor der "If" Anweisung ein "#" verwendet:
#If VBA7 Then
Declare PtrSafe Sub...
#Else
Declare Sub...
#EndIf
Wofür benötigt man dieses "#" for den If / Else / Endif Anweisungen, was ist der unterschied zur den normalen Anweisung ohne dieses #?
Vielen Dank
LG ChrisW
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unterschied "#If" und "if"? Wofür braucht man das "#"?
06.12.2019 15:30:28
EtoPHG
Hallo ChrisW,
Die Antwort findest Du in der Hilfe unter Übersicht über 64-Bit-Visual Basic for Applications
Gruess Hansueli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Unterschied zwischen "#If" und "If" in VBA


Schritt-für-Schritt-Anleitung

Um den Unterschied zwischen #If und If in VBA zu verstehen, folge diesen Schritten:

  1. Verwendung von #If:

    • #If ist eine bedingte Kompilierungsanweisung, die zur Laufzeit nicht ausgewertet wird. Sie wird verwendet, um bestimmte Codeabschnitte je nach Bedingungen zur Kompilierungszeit einzuschließen oder auszuschließen.
    • Beispiel:
      #If VBA7 Then
       ' Code für 64-Bit-Version
      #Else
       ' Code für 32-Bit-Version
      #End If
  2. Verwendung von If:

    • If ist eine bedingte Anweisung, die während der Programmausführung ausgeführt wird. Sie wird verwendet, um Entscheidungen basierend auf Bedingungen zu treffen.
    • Beispiel:
      If x > 10 Then
       MsgBox "x ist größer als 10"
      End If
  3. Zusammenfassung:

    • #If wird zur Kompilierungszeit verwendet, während If zur Laufzeit verwendet wird. Dies ist der Hauptunterschied zwischen #If und If in VBA.

Häufige Fehler und Lösungen

  • Fehler: "Compiler-Fehler: Ungültige bedingte Kompilierung."

    • Lösung: Stelle sicher, dass der Code innerhalb der richtigen Struktur von #If ... #Else ... #End If steht.
  • Fehler: "Die If-Anweisung wird nicht erkannt."

    • Lösung: Überprüfe, ob du die richtige Syntax verwendest. Vergiss nicht, die Anweisung mit Then abzuschließen.

Alternative Methoden

Wenn die Verwendung von #If nicht notwendig ist, kannst du auch die Select Case-Anweisung in VBA verwenden, um ähnliche Funktionalitäten zu erreichen. Diese Methode kann besonders nützlich sein, wenn du mehrere Bedingungen überprüfen möchtest:

Select Case x
    Case Is > 10
        MsgBox "x ist größer als 10"
    Case Else
        MsgBox "x ist 10 oder kleiner"
End Select

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du #If und If in deinem VBA-Code verwenden kannst:

  1. Verwendung von #If in einem Modul:

    #If VBA7 Then
       Sub Beispiel64Bit()
           MsgBox "Dieser Code läuft in einer 64-Bit-Version."
       End Sub
    #Else
       Sub Beispiel32Bit()
           MsgBox "Dieser Code läuft in einer 32-Bit-Version."
       End Sub
    #End If
  2. Verwendung von If in einer Funktion:

    Function CheckNumber(x As Integer) As String
       If x Mod 2 = 0 Then
           CheckNumber = "x ist gerade"
       Else
           CheckNumber = "x ist ungerade"
       End If
    End Function

Tipps für Profis

  • Achte darauf, die richtige Verwendung von #If und If zu verstehen, um Makros effizient zu erstellen.
  • Nutze Kommentare, um die Absicht deiner bedingten Anweisungen klar zu dokumentieren.
  • Teste deinen Code gründlich, um sicherzustellen, dass alle Bedingungen wie gewünscht funktionieren.

FAQ: Häufige Fragen

1. Was ist der Hauptunterschied zwischen #If und If?
#If wird zur Kompilierungszeit verwendet, während If zur Laufzeit Entscheidungen trifft.

2. Wofür braucht man #If in VBA?
#If ermöglicht es dir, verschiedene Codeabschnitte je nach Kompilierungsbedingungen einzuschließen oder auszuschließen, was besonders nützlich für die Unterstützung verschiedener Versionen ist.

3. Was passiert, wenn ich #If falsch benutze?
Du erhältst einen Compiler-Fehler, wenn die Struktur von #If nicht korrekt ist oder wenn die Bedingungen nicht erfüllt sind. Achte darauf, die Syntax genau zu befolgen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige