• 締切済み

EXCELについてです。

関数で「=IF(A2<>0,LOOKUP(Sheet2!C3,Sheet3!A3:A25,Sheet3!B3:B25)," ")」の場合ですが、 マクロでした場合の書き方を教えて下さい。 よろしくお願い致します。

みんなの回答

noname#29107
noname#29107
回答No.2

>同じ機能をロジックでした場合もよろしければ教えて頂けますか? 直接の問題が解決したなら、ひっぱらないで欲しいです。 Sub testa() If ActiveSheet.Range("A2").Value <> 0 Then   For i = 3 To 25     If Sheets("Sheet2").Range("C3").Value = Sheets("Sheet3").Cells(i, "A").Value Then       ActiveSheet.Range("B2").Value = Sheets("Sheet3").Cells(i, "B").Value       Exit For     End If   Next i Else   ActiveSheet.Range("B2").Value = " " End If End Sub 関数との結果が異なるのは、マッチする値が無かった時、エラーを返していないことです。

omakedayo
質問者

お礼

回答ありがとうございます。 今後注意致します。

noname#29107
noname#29107
回答No.1

>マクロでした場合の書き方を教えて下さい。 マクロで関数をセットするということでしょうか? それとも同じ機能をマクロでロジックとして実現したいということでしょうか? マクロで関数をセットする場合なら、 Range("B2").Formula = "=IF(A2<>0,LOOKUP(Sheet2!C3,Sheet3!A3:A25,Sheet3!B3:B25),"" "")" のようにします。

omakedayo
質問者

お礼

最近始めましたのでなかなか思う通りにならなかったので、大変助かりました。 ありがとうございました。 また、同じ機能をロジックでした場合もよろしければ教えて頂けますか?

関連するQ&A