Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehlermeldung Mehrfachdeklaration

Forumthread: Fehlermeldung Mehrfachdeklaration

Fehlermeldung Mehrfachdeklaration
05.06.2009 10:37:42
marc
Moin,
ufff...VBA kann als Anfänger ganz schön stressig sein. Eine Fehlermeldung eliminiert, und die nächste taucht auch schon wieder auf. Scheint, als ob ich mich gerade durch alle Anfängerfehler durchhangele ;-)
Was bedeuted die Fehlermeldung "Mehrfachdeklaration im aktuellen Gültigkeitsbereich"? Ich hab mich mal durchs Archiv gewühlt, aber so ganz schlau bin ich bis jetzt noch nicht draus geworden.
Markiert wird als Fehlerquelle in der Sub Formel_1 und Sub Formel_2 die Variable "h1STRICH As Double".
Hier der bettreffende Teil aus meinem Makro:
Sub Formel_1()
Dim dbla1STRICH As Double, dblb1STRICH As Double
Dim h1STRICH As Double
Dim h2STRICH As Double, mean_hSTRICH As Double, h1STRICH As Double
'--- Teil 1:
With Application.WorksheetFunction
dbla1STRICH = Cells(11, 3)
dblb1STRICH = Cells(12, 3)
'WENN(C12>0;GRAD(ARCTAN2(C11;C12));360+GRAD(ARCTAN2(C11;C12)))
h1STRICH = .Degrees(.Atan2(dblC11, dblC12)) - 360 * (dblC12 > 0)
End With
End Sub


Sub Formel_2()
Dim dbla2STRICH As Double, dblb2STRICH As Double
Dim h1STRICH As Double
Dim h2STRICH As Double, mean_hSTRICH As Double, h1STRICH As Double
'--- Teil 1:
With Application.WorksheetFunction
dbla2STRICH = Cells(20, 3)
dblb2STRICH = Cells(21, 3)
'WENN(C21>0;GRAD(ARCTAN2(C20;C21));360+GRAD(ARCTAN2(C20;C21)))
h2STRICH = .Degrees(.Atan2(dblC20, dblC21)) - 360 * (dblC21 > 0)
End With
End Sub


...danach gehts weiter mit der Function...hab der Vollständigkeit halber mal nen Auszug eingefügt.


Public Function Testmakro_dE2000(ByVal L1 As Double, L2 As Double, a1 As Double, a2 As Double,   _
_
b1 As Double, b2 As Double) As Double
'--- Schritt 1
C1 = (a1 ^ 2 + b1 ^ 2) ^ 0.5
'--- Schritt 2
C2 = (a2 ^ 2 + b2 ^ 2) ^ 0.5
'--- Schritt 3
G = 0.5 * (1 - (((C1 + C2) / 2) ^ 7 / (((C1 + C2) / 2) ^ 7 + 25 ^ 7)) ^ 0.5)
'--- Schritt 4
End Function


Was ich noch loswerden wollte. Ihr seid echt fix und schwer auf Zack hier.
Weiter so....

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung Mehrfachdeklaration
05.06.2009 10:39:47
Flo
also beim kurzen reinschauen ist folgendes meines Erachtens:
Dim h1STRICH As Double
Dim h2STRICH As Double, mean_hSTRICH As Double, h1STRICH As Double
Du hast 2 mal h1STRICH deklariert. Das heisst du hast die Variable mehrfach deklariert.
Fehler Mehrfachdeklaration
05.06.2009 10:42:30
Erich
Hi Marc,
die Fehlermeldung sagt es ja eigentlich schon:
In den Zeilen
Dim h1STRICH As Double
Dim h2STRICH As Double, mean_hSTRICH As Double, h1STRICH As Double
wird die Variable doppelt deklariert. Lösche einfach die erste der hier gezeigten beiden Zeilen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Fehler Mehrfachdeklaration
05.06.2009 14:01:19
marc
upppsss....voll übersehen. Manchmal sieht man den Wald vor lauter Bäumen nicht...tststs
Jetzt kommt allerdings schon wieder die nächste Fehlermeldung. "Laufzeitfehler 1004, die Atan Eigenschaft des Worksheet-Function-Objektes kann nicht zugeordnet werden"....grrrr
;
Anzeige
Anzeige

Infobox / Tutorial

Fehlermeldung Mehrfachdeklaration im Gültigkeitsbereich von VBA


Schritt-für-Schritt-Anleitung

Um die Fehlermeldung "Mehrfachdeklaration im aktuellen Gültigkeitsbereich" zu beheben, folge diesen Schritten:

  1. Öffne dein VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Suche nach der problematischen Deklaration: Gehe zu der Sub-Prozedur, in der die Fehlermeldung auftritt. In diesem Fall handelt es sich um Sub Formel_1() und Sub Formel_2().
  3. Identifiziere doppelte Variablen: Überprüfe die Deklarationen. In deinem Beispiel ist die Variable h1STRICH zweimal deklariert. Entferne eine der beiden Zeilen:
    Dim h1STRICH As Double
  4. Führe das Makro aus: Teste dein Makro, um sicherzustellen, dass die Fehlermeldung nicht mehr erscheint.

Häufige Fehler und Lösungen

  • Fehler: VBA Mehrfachdeklaration im Gültigkeitsbereich

    • Lösung: Überprüfe deine Deklarationen auf doppelte Variablen. Lösche die überflüssige Zeile.
  • Fehler: Laufzeitfehler 1004, die Atan Eigenschaft des Worksheet-Function-Objektes kann nicht zugeordnet werden

    • Lösung: Stelle sicher, dass der Funktionsaufruf korrekt ist. Verwende die richtige Syntax und prüfe die Eingabewerte.

Alternative Methoden

Falls du weiterhin Probleme mit der Fehlermeldung hast, kannst du folgende Alternativen in Betracht ziehen:

  • Verwendung von Option Explicit: Füge ganz oben in deinem Modul Option Explicit hinzu. Dies zwingt dich dazu, jede Variable zu deklarieren, was die Fehlersuche erleichtert.
  • Verwendung von Arrays: Anstatt mehrere ähnliche Variablen zu deklarieren, erwäge die Verwendung eines Arrays, um den Code zu vereinfachen.
    Dim hSTRICH(1 To 2) As Double

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie du die Atan2-Funktion in VBA verwenden kannst:

Sub BeispielAtan2()
    Dim x As Double, y As Double
    Dim winkel As Double

    x = 10
    y = 5
    winkel = Application.WorksheetFunction.Degrees(Application.WorksheetFunction.Atan2(y, x))
    MsgBox "Der Winkel ist: " & winkel & " Grad"
End Sub

Dieses Beispiel zeigt, wie du die atan2-Funktion in Excel VBA verwenden kannst, um den Winkel zu berechnen.


Tipps für Profis

  • Verwende aussagekräftige Variablennamen: Vermeide Kürzel, die nicht sofort verständlich sind, wie h1STRICH. Wähle stattdessen Namen, die deren Zweck klar machen.
  • Nutze die Möglichkeit, Fehlerbehandlung einzufügen: Verwende On Error Resume Next, um Laufzeitfehler zu ignorieren und dann mit einer spezifischen Fehlerbehandlung fortzufahren.
  • Halte deinen Code modular: Teile deinen Code in mehrere Sub-Prozeduren auf, um die Lesbarkeit und Wartbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Was bedeutet "Mehrfachdeklaration im aktuellen Gültigkeitsbereich"? Diese Fehlermeldung tritt auf, wenn du eine Variable mehrmals innerhalb des gleichen Gültigkeitsbereichs deklarierst.

2. Wie kann ich die Atan2-Funktion in VBA verwenden? Die Atan2-Funktion kann über Application.WorksheetFunction.Atan2(y, x) aufgerufen werden, wobei y und x die Koordinaten sind, für die der Winkel berechnet werden soll.

3. Was ist der Unterschied zwischen Atan, Atan2 und Arctan in VBA? Atan berechnet den Arcustangens eines Wertes, während Atan2 den Arcustangens basierend auf den Koordinaten y und x berechnet. Arctan ist ein anderer Begriff für den Arcustangens, wird aber in der Regel synonym verwendet.

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