2017-07-08 41 views
0

我有一个具有以下select case语句的函数。如果我在条件部分有一个Excel,该功能不起作用。我可以在选定案例中使用公式

像:Case Is >= Sheets("list").Range("M50")

功能的工作原理,如果我把一个价值为条件, 如:Case Is >= 5

的选择如下所示。是否使用不允许的公式?有没有解决办法?

Select Case distance 


Case Is >= Sheets("list").Range("M50") 
RightPlace = Sheets("list").Range("n50").Value 

Case Is >= Sheets("list").Range("M51").Value 
RightPlace = Sheets("list").Range("n51").Value 

Case Is >= Sheets("list").Range("M52").Value 
RightPlace = Sheets("list").Range("n52").Value 

Case Is >= Sheets("list").Range("M53").Value 
RightPlace = Sheets("list").Range("n53").Value 

Case Is >= Sheets("list").Range("M54").Value 
RightPlace = Sheets("list").Range("n54").Value 

Case Is >= Sheets("list").Range("M55").Value 
RightPlace = Sheets("list").Range("n55").Value 

Case Is >= Sheets("list").Range("M56").Value 
RightPlace = Sheets("list").Range("n56").Value 

Case Is >= Sheets("list").Range("M57").Value 
RightPlace = Sheets("list").Range("n57").Value 

Case Is >= Sheets("list").Range("M58").Value 
RightPlace = Sheets("list").Range("n58").Value 



End Select 
+2

尝试将'.Value'添加到第一个'Case'语句。 – RBarryYoung

+0

添加.value无效 - 但是谢谢@RBarryYoung,Dave – Dave

+0

*有Excel *的含义是什么? Excel是微软出售的一个程序。你如何在宏观中获得这些? –

回答

0

为什么要使用Case语句?您正在查看电子表格单元格中的数据,因此您不妨使用

RightPlace = Application.WorksheetFunction.VLookup(distance, Sheets("list").Range("M50:N58"), 2, False) 
+0

这是一个好主意,但我必须重新排列我的列表,以便按照vlookup的升序排序 – Dave

+0

如果使用False作为Vlookup的第四个参数,则不必对数据进行排序。只有当第四个参数为TRUE或省略时,才会排序数据。 – teylyn

+0

我需要排序的查找工作,因为没有完全匹配,因为您指出我必须使用false作为第四个参数。@ teylyn – Dave