2016-11-09 3 views
0

Warum funktioniert das:.Find - Putting Variable in Search verursacht Laufzeitfehler 13 - Typenkonflikt

Set rowNonBlankFound = Rows(rowToUse).Find(what:="*", after:=Cells(rowToUse, leftMostCol), LookIn:=xlValues, SearchDirection:=xlNext)

Aber dies nicht:

Dim direction As String direction = "xlNext" Set rowNonBlankFound = Rows(rowToUse).Find(what:="*", after:=Cells(rowToUse, leftMostCol), LookIn:=xlValues, SearchDirection:=direction)

ich Laufzeitfehler 13 - Typenkonflikt?

+0

Richtung eine Aufzählung ist https://msdn.microsoft .com/de-us/library/office/ff841198.aspx muss eine Nummer oder ein Enumerationsäquivalent sein –

+0

Ein bisschen weiterzulesen: https://en.wikipedia.org/wiki/Enumerated_type –

+0

Danke für Wiki-Artikel. – Slab

Antwort

1

SearchDirection ist kein Argument vom Typ String, aber vom Typ XlSearchDirection können Sie keine Zeichenfolge an es übergeben, da es keine Konvertierung von einem zum anderen gibt. xlNext ist nicht identisch mit "xlNext"

Verwenden folgenden Code:

Dim direction As XlSearchDirection 
direction = xlNext 
Set rowNonBlankFound = Rows(rowToUse).Find(what:="*", after:=Cells(rowToUse, leftMostCol), LookIn:=xlValues, SearchDirection:=direction) 
+0

Vielen Dank, ich lerne. – Slab

Verwandte Themen