2016-04-19 6 views
1

Dies sollte eine einfache Lösung sein, aber ich habe gesucht und gesucht und kann nicht herausfinden, was falsch ist.Geben Sie Mismatch-Fehler ein und deklarieren Bereichsvariable in Excel VBA

Ich erhalte eine "Laufzeitfehler 13: Type Mismatch":

Dim rng As Range  
Dim endRW As Integer, endCol As Integer 
endRW = 30 
endCol = 10 
Set rng = Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2,3),Sheets("Sheet1").Cells(endRW,endCol)) 

^^^ der letzten Zeile verursacht den Fehler ^^^^

Antwort

0

Versuchen

Set rng = Sheets("Sheet1").Range(Cells(2, 3), Cells(endRW, endCol)) 

Beweise.

enter image description here

+0

es ausprobiert, es funktioniert nicht. Derselbe Fehler. –

+0

Dann machst du etwas anderes als das, was ich gepostet habe. Siehe Screenshot. Der Code funktioniert gut. – teylyn

+0

Yup Sie hatten Recht. Das Problem war tatsächlich mit der MsgBox, die ich benutzte, um den Fehler zu finden, haha. Entschuldigung, danke für deine Hilfe. –

0

versuchen diese

Sub temp() 
    Dim rng As Range 
    Dim endRW As Long, endCol As Long 
    endRW = 30 
    endCol = 10 
    Set rng = Worksheets("Sheet1").Range(Cells(2, 3), Cells(endRW, endCol)) 
End Sub