2017-07-08 5 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

てみてくださいを使用する場合があります。 – RBarryYoung

+0

.valueを追加すると動作しませんでしたが、@ RBarryYoung、Daveさんに感謝します – Dave

+0

* Excel *の意味は何ですか? Excelは、Microsoftが販売するプログラムです。どのようにマクロでそれを持っていますか? –

答えて

0

なぜケースステートメントを使用するのですか?あなたは、スプレッドシートのセル内のデータを検索しているので、あなたにも最初の `Case`書に` .Value`を追加

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

これは良いアイデアですが、lはあなたがVLOOKUPの四番目の引数としてFalseを使用している場合は、データをソートする必要はありませんVLOOKUP – Dave

+0

の昇順にソートを満たすために私のリストを並べ替えする必要があります。ソートされたデータは、4番目のパラメータがTRUEまたは省略された場合にのみ予測されます。 – teylyn

+0

VLOOKUPを使用すると、私は偽のように述べ引数を使用する必要が指摘するように、私は完全一致を持っていなかったので、ソートするために必要な動作します。@ teylyn – Dave

関連する問題