できたし!ハシィーッ!
○貸出状況シート E2=vlookup_r($B2,貸出履歴!$B:$E,2) F2=vlookup_r($B2,貸出履歴!$B:$E,3) G2=vlookup_r($B2,貸出履歴!$B:$E,4) H2=vlookup_r($B2,貸出履歴!$B:$E,5) この3〜5ってコピペでなんとかならないのかな。。 下にコピー
○標準モジュール Function VLOOKUP_R(検索値 As Variant, 範囲 As Object, 列番号 As Integer) As Variant Application.Volatile Dim obj As Object Set obj = 範囲.Resize(, 1).Find(検索値, SearchDirection:=xlPrevious, LookAt:=xlWhole) VLOOKUP_R = obj.Cells(1, 列番号) If IsEmpty(VLOOKUP_R) Then VLOOKUP_R = "" End Function
データ量によっては重くなると思いますが、 どうでしょうか??
重いようであれば、VLOOKUPは1行1回だけで行番号を返して、 他のカラムは=CELLS(行番号,2)とかにしたほうが。。
スレ違いにしてしまってすいません、 VBAに移動したほうが良いですか?
この記事にはVBAのコードが含まれています。
緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他
|