Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4338 / 76734 ←次へ | 前へ→

【78019】Re:VLOOKUP関数の検索値を変数にする方法
発言  β  - 16/3/6(日) 18:53 -

引用なし
パスワード
   ▼真田● さん:

>は、このまま使えるVBAなのでしょうか?

いえいえ、サンプルというかコードの雛形というか、考え方です。

>マクロの記録で処理すると原因不明のエラーが出やすいので
>使用は控えたいところです。

そのまま使えることもありますが、それは、例外かもですね。
通常は、固定領域であったり、固定のシートになっていたり
なによりも Select とか Selection がてんこ盛りに生成されますから
お化粧直しをして使います。

でも、コードの雛形を提供してくれるありがたい機能ですよ。

【このまま使えるか】というコメントも、その一端ですけど、
雛形を自分の要件に合わせてチューニングするようにしていかないと
【そのままコピペで自分の要件をカバーして満足すり結果が得られるコード】
だけを求めると、なかなか身につきませんよ。

ということで、以下も【サンプル】です。
新規ブックで試してください。
まず、MakeData を実行してください。I列、J列にリストを作成します。

次にSampleを実行してください。
I列、J列のリスト範囲を自動的に判定取得して、その領域に対して
変数 s で検索をかけています。
最初はリスト内に存在する値、次にリスト内に存在しない値で
VLOOKUPをかけています。

Sub MakeData()
  Dim i As Long
  
  Cells.Clear
  
  For i = 1 To 100
    Cells(i, "I").Value = "a" & i
    Cells(i, "J").Value = "x" & i
  Next
    
End Sub

Sub Sample()
  Dim z As Variant
  Dim s As String
  
  s = "a60"
  
  z = Application.VLookup(s, Range("I1", Range("I" & Rows.Count).End(xlUp)).Resize(, 2), 2, False)
  If IsError(z) Then
    MsgBox s & " は見つかりません"
  Else
    MsgBox "結果は " & z & " でした"
  End If
  
  
  s = "a999"
  
  z = Application.VLookup(s, Range("I1", Range("I" & Rows.Count).End(xlUp)).Resize(, 2), 2, False)
  If IsError(z) Then
    MsgBox s & " は見つかりません"
  Else
    MsgBox "結果は " & z & " でした"
  End If
  
End Sub

15 hits

【78005】VLOOKUP関数の検索値を変数にする方法 真田● 16/3/4(金) 18:10 質問[未読]
【78006】Re:VLOOKUP関数の検索値を変数にする方法 β 16/3/4(金) 21:17 発言[未読]
【78012】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/6(日) 13:49 質問[未読]
【78013】Re:VLOOKUP関数の検索値を変数にする方法 マナ 16/3/6(日) 14:03 発言[未読]
【78014】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/6(日) 16:20 回答[未読]
【78015】Re:VLOOKUP関数の検索値を変数にする方法 マナ 16/3/6(日) 16:33 発言[未読]
【78017】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/6(日) 17:40 質問[未読]
【78018】Re:VLOOKUP関数の検索値を変数にする方法 マナ 16/3/6(日) 18:52 発言[未読]
【78023】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/7(月) 16:36 質問[未読]
【78025】Re:VLOOKUP関数の検索値を変数にする方法 マナ 16/3/7(月) 20:59 発言[未読]
【78032】Re:VLOOKUP関数の検索値を変数にする方法 β 16/3/8(火) 11:25 発言[未読]
【78033】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/8(火) 17:41 質問[未読]
【78034】Re:VLOOKUP関数の検索値を変数にする方法 β 16/3/8(火) 19:26 発言[未読]
【78035】Re:VLOOKUP関数の検索値を変数にする方法 ichinose 16/3/9(水) 6:59 発言[未読]
【78036】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/9(水) 18:54 お礼[未読]
【78019】Re:VLOOKUP関数の検索値を変数にする方法 β 16/3/6(日) 18:53 発言[未読]
【78016】Re:VLOOKUP関数の検索値を変数にする方法 真田● 16/3/6(日) 17:35 質問[未読]

4338 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free