2017-05-28 3 views
2

Ich versuche, eine Prozedur zu schreiben, die erfasst, wenn eine Zelle ausgewählt wurde und einfach die Zelle Spalte und Zeile zurückgibt. Ich erhalte einen 'ByRef argument type mismatch' Fehler, aber es ergibt keinen Sinn. Siehe unten Screenshot:Excel VBA ByRef Argument Typ Mismatch

enter image description here

Das Problem mit der iRow variabel zu sein scheint. Soweit ich sehen kann, ist es eine ganze Zahl und hört nie auf, eine ganze Zahl zu sein. Warum tritt der Kompilierungsfehler auf?

Bitte helfen. Das macht mich verrückt.

+0

In Zukunft geben Sie bitte Ihre ** Code ** in der Frage, nicht nur ein ** Bild ** Ihres Codes. (In diesem Fall war der Fehler so offensichtlich, dass die Leute den Code nicht debuggen mussten, aber normalerweise müssen die Leute in der Lage sein, ihren Code in ihren Computer zu kopieren, um ihn zu testen, und sie sollten nicht dazu gezwungen werden Geben Sie es erneut ein, bevor sie Ihnen helfen können.) – YowE3K

Antwort

0

Das liegt daran, dass Sie iRow als Variant deklariert haben. Im Gegensatz zu VB.Net müssen Sie alle Variablen explizit deklarieren. Alles, was als genommen wird nicht erklärt wird Variant

Ändern Sie die Zeile

Dim iRow, iCol As Integer 

zu

Dim iRow As Integer, iCol As Integer 
+0

Genius. Danke vielmals. Schuljungenfehler. – RK43