
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.1・2です。
>Log計算している検索範囲だと
>検索してくれません。
とありますが、具体的にどのセルにどうのような計算結果が表示されていて
どの範囲を「VLOOKUP関数」の範囲にしたいのでしょうか?
その辺が判れば具体的なアドバイスができると思うのですが・・・
※ 当然のことながら範囲内に重複データはない!という前提です。m(_ _)m
No.3
- 回答日時:
こんばんは
VLookUpを使用して結果を得たいのは1回だけなのでしょうか?
もし何度も繰り返し処理をするのであれば、DictionaryオブジェクトやADODBなどを使うのもアリかもしれません…
ちなみにですがシート上で使う場合はIF関数とIsNA関数も併用すれば組めますョ
画像の数式、文字判別できますでしょうか?

No.2
- 回答日時:
No.1です。
投稿後もう一度質問文を読み返してみると
VLOOKUP関数に関する質問で、他の方法はご希望ではなかったみたいですね。
VLOOKUP関数でやってみました。
配置は前回同様とします。
Sub Sample2()
Dim i As Long, c As Range, myRng As Range
Set myRng = Range("F1:F10,I1:I10,L1:L10")
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Set c = myRng.Find(what:=Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(i, "B") = WorksheetFunction.VLookup(Cells(i, "A"), Cells(1, c.Column).Resize(10, 2), 2, False)
End If
Next i
End Sub
※ いずれにしてもVLOOKUP関数の範囲を指定するために
FINDメソッドを使ってしまいました。m(_ _)m
No.1
- 回答日時:
こんばんは!
VBAでVLOOKUP関数を使用したい訳ですね?
使い方はワークシート関数と同じですが、「範囲」を特定してやる必要がありますね。
その「範囲」が特定できる条件がある場合は
各範囲の左上のセル番地が判れば、
Resizeプロパティで「範囲指定」が可能です。
わざわざVBAでやるのでれば、当方だと別方法(Findメソッド)でやります。
仮に↓の画像のようにVLOOKUP関数の各範囲が F1:G10・I1:J10・L1:M10 のように飛び飛びになっているとし、
B列にA列データを検索値として、完全一致する右隣りのデータを表示させたい場合は
Sub Sample1()
Dim i As Long, c As Range, myRng As Range
Set myRng = Range("F1:F10,I1:I10,L1:L10")
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Set c = myRng.Find(what:=Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(i, "B") = c.Offset(, 1)
End If
Next i
End Sub
としてもVLOOKUP関数と同様の結果が求められると思います。
※ 飛び飛びの範囲に重複データがない場合は
>Set myRng = Range("F1:F10,I1:I10,L1:L10")
をいっきに
>Set myRng = Range("F1:M10")
のようにしても大丈夫だと思います。m(_ _)m

Findメソッドを使う場合ですが、
検索範囲の数値がLog計算していて桁数が多いとダメでしょうか?
セルA1に1、セルA2に2を入れて2を検索すると
正しく検索できるのですが、Log計算している検索範囲だと
検索してくれません。
LookAtを部分一致にしてもダメでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) Excelの関数についての質問です。(vlookup関数) A列 B列. C 1 大阪 50. 検索 6 2023/08/11 13:35
- Excel(エクセル) ExcelのVLOOKUP関数 7 2022/08/23 06:46
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) vba 15 2023/04/07 12:33
- Excel(エクセル) VLOOKUP関数についての質問です。検索値に数式が入っていた場合エラーが出るのでしょうか?また、対 3 2023/07/07 19:07
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数:「0」を除いた標準...
-
【エクセル】区切り位置で分割...
-
SUMIFで数値が入力されているセ...
-
更新前と更新後の差分をVBAを使...
-
ピボットテーブル 0個の行を...
-
値の入っているセルのうち、一...
-
エクセルで何種類のデータがあ...
-
SUMPRODUCT関数 行が増えても...
-
【Excel】歯抜けデータの集約
-
エクセルに入力された日付「S40...
-
エクセルでデータの並び替え
-
【Excel VBA】複数範囲の並べ替...
-
空白セルをつめる。
-
Excel関数で、範囲内の最後のセ...
-
SUMIFとCOUNTIFの違いについて
-
エクセル2000で〇×の並び替えを...
-
エクセルVBA AdvancedFilterの...
-
Excelのマクロで行を間引きたい
-
Excelで複数列かつ複数行分の一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
【エクセル】区切り位置で分割...
-
更新前と更新後の差分をVBAを使...
-
Excel関数:「0」を除いた標準...
-
値の入っているセルのうち、一...
-
SUMIFで数値が入力されているセ...
-
エクセル、正数のみの集計[(負...
-
ピボットテーブル 0個の行を...
-
エクセルに入力された日付「S40...
-
エクセルで何種類のデータがあ...
-
SUMPRODUCT関数 行が増えても...
-
Excel関数で、範囲内の最後のセ...
-
複数の候補列から、検索値と一...
-
エクセル 8ケタの数字から日数...
-
EXCEL 階段状のグラフ
-
エクセルVBAを使ってセルに日付...
-
Excelのマクロで行を間引きたい
-
エクセル日付 文字列の関数がエ...
-
《エクセル2000》重複している...
-
入力するとかってにセルの色が...
おすすめ情報