Objekt erforderlich Fehler in Excel VBA [duplizieren]

8
%Vor%

Hier in der zweiten Zeile bekomme ich einen Fehler, der das Objekt required.I Ich habe versucht, g1val und g2val als "Double" zu machen und habe versucht, 1 für ihre Werte zu geben. Aber das hat nicht geklappt. Kannst du helfen ?? ....

    
srt 27.09.2013, 10:32
quelle

2 Antworten

5

Um den Wert einer Integer-Variablen festzulegen, weisen wir ihr einfach den Wert zu. zB g1val = 0 wobei als gesetztes Schlüsselwort verwendet wird, um dem Objekt einen Wert zuzuweisen.

%Vor%     
Santosh 27.09.2013, 10:36
quelle
7

Die Set-Anweisung wird nur für Objektvariablen verwendet (wie Range , Cell oder Worksheet in Excel), während das einfache Gleichheitszeichen '= ist 'wird für elementare Datentypen wie Integer verwendet. Sie können eine gute Erklärung für wann hier gesetzt .

Das andere Problem ist, dass Ihre Variable g1val nicht tatsächlich als Integer deklariert ist, sondern den Typ Variant hat. Dies liegt daran, dass die Dim-Anweisung hier nicht so funktioniert, wie Sie es erwarten würden (siehe Beispiel unten). Auf die Variable muss sofort der Typ folgen, andernfalls wird der Typ standardmäßig auf Variant gesetzt. Sie können Ihre Dim-Anweisung nur folgendermaßen verkürzen:

%Vor%

Aus diesem Grund wird im Fenster "Watches" statt der erwarteten "0" die Meldung "Empty" angezeigt.

Versuchen Sie dieses Beispiel, um den Unterschied zu verstehen:

%Vor%

Zwei weitere Hinweise zu Ihrem Code:

Erste Bemerkung: Anstatt zu schreiben

%Vor%

Du könntest einfach schreiben

%Vor%

Da Sie g1val im anderen Fall nicht ändern möchten.

Zweite Bemerkung: Ich ermutige Sie, Option zu verwenden Explizite beim Programmieren, um Tippfehler in Ihrem Programm zu vermeiden. Sie müssen dann alle Variablen deklarieren und der Compiler wird Sie warnen, wenn eine Variable unbekannt ist.

    
Marcus Mangelsdorf 27.09.2013 12:06
quelle

Tags und Links