Excel VBA 質問スレッド №2110 (解決済)
正誤の判断
投稿者 : え     投稿日時 : 2025/04/19(Sat) 17:56:00     OS : 未指定     EXCEL : 未指定
=IF(ISERROR(VLOOKUP(検索値,検索する範囲,列番号,検索の型)),”×”,”○”)こちらをマクロに直したいです。
どのように行ったらよろしいでしょうか?
	
	=IF(ISERROR(VLOOKUP(検索値,検索する範囲,列番号,検索の型)),”×”,”○”)こちらをマクロに直したいです。
どのように行ったらよろしいでしょうか?
スポンサーリンク
[返信 1] Re : 正誤の判断
投稿者 : てらてら     投稿日時 : 2025/04/20(Sun) 04:58:50
こんにちは。
結果を示すセルがD2の場合、以下のような方法があります。
参考にしてみてください。
	
	こんにちは。
結果を示すセルがD2の場合、以下のような方法があります。
参考にしてみてください。
Sub Macro()
    If IsError(WorksheetFunction.VLookup(検索値, 検索する範囲, 列番号, False)) Then
        Range("D2") = "×"
    Else
        Range("D2") = "〇"
    End If  
End Sub
[返信 2] Re : 正誤の判断
投稿者 : ピロリ     投稿日時 : 2025/04/20(Sun) 08:09:39
■[質問] えさん(2025-04-19 17:56:00)の記事
> =IF(ISERROR(VLOOKUP(検索値,検索する範囲,列番号,検索の型)),”×”,”○”) こちらをマクロに直したい
仰っていることが今一理解できてませんが、関数の案で・・・
的外れでしたら読み捨てて下さい。
	
	■[質問] えさん(2025-04-19 17:56:00)の記事
> =IF(ISERROR(VLOOKUP(検索値,検索する範囲,列番号,検索の型)),”×”,”○”) こちらをマクロに直したい
仰っていることが今一理解できてませんが、関数の案で・・・
的外れでしたら読み捨てて下さい。
Function MyFn(検索値 As String, 検索する範囲 As Range, 列番号 As Long, 検索の型 As Boolean) As String
    Dim 値 As Variant
    
    On Error GoTo LABEL_ERR
    値 = WorksheetFunction.VLookup(検索値, 検索する範囲, 列番号, 検索の型)
    
    '検索結果、エラーなく値が取得できたのなら「○」を返す
    MyFn = "○"
    Exit Function
    
LABEL_ERR:
    '検索結果、エラーが発生し値が取得できなかったら「×」を返す
    MyFn = "×"
    
End Function
[返信 3] Re : 正誤の判断
投稿者 : え     投稿日時 : 2025/04/20(Sun) 15:14:41
わかりました。ありがとうございました。
	
	わかりました。ありがとうございました。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
	
	( 処理日時 : 2025-10-30 17:28:37 )