![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
No.4ベストアンサー
- 回答日時:
まぁ,ヒトによって趣味もありますが,自分なら
dim lastRow as long
lastrow = range("A65536").end(xlup).row
range("E1") = application.vlookup(range("D1").value, range("A1:C" & lastrow), 2, false)
ぐらいにします。
どこをどう調べたら「一番下」を確定できるのか,実際のデータシートを見ながらマクロを書きます。
#「変数」にせずにrange("A:C")を検索対象範囲にして計算させてしまうのも,たしかに一つの合理的な解決策と思います。
ただVLOOKUP関数のFALSEの計算は「重たい」のが常ですので,可能なら「A1:C4」のように範囲を指定して計算させた方がモアベターと一般に考えられています。
マクロを使うなら「範囲を調べて限定して計算させる」のも,上述したようにその旨命令を書き足すだけのことですから。
ご回答ありがとうございます。
lastrow=Cells.SpecialCells(xlLastCell).Rowにして
動きました。
この記述を参考に利用させて頂きます。
No.3
- 回答日時:
>VLOOKUPの範囲を変数で取得したい
⇒ワークシート関数ならば、Range("A:C")で十分ではないでしょうか
ところで、このVLOOKUPコードの場合、見つからないとマクロが中断し、以降の処理が
できません。
対応としては、次の様にコードを変更すれば、エラー(#N/A)が戻されるので以下のような
方法があります。
resurt = Application.VLookup(Range("D1"), Range("A:C"), 2, False)
If IsError(result) Then
エラー処理
else
Range("E1") = result
因みにこの程度の抽出なら自作してみるのは如何でしょうか。
一例です。
For i = 1 To cells(Rows.Count,"A").End(Xlup).Row
If Cells(i,"A") = Cells(1,"D") Then
Cells(1,"E") = Cells(i,"A").Offset(0,1).Value
Exit For
Endif
Next
ご回答ありがとうございます。
vlookupでわざとエラーをさせたところ、途中で中断しました。
エラーした際の処理も参考にさせて頂きました。
No.2
- 回答日時:
"A1:C4"
は、文字列なので。String型の文字列で扱えば良いです。例えば
Dim strRANGE As String
strRANGE = "A1:C4"
Range("E1") = Application.WorksheetFunction.VLookup(Range("D1"), Range(strRANGE), 2, False)
なら、同じ意味の式になりますね。
strRANGE = "C4"
Range("E1") = Application.WorksheetFunction.VLookup(Range("D1"), Range("A1:" & strRANGE), 2, False)
とすれば、"C4"だけを変数に出来ます。
ご回答ありがとうございます。
C4が変数になりますが、データが増えるのでC5 C6・・・と変数も増える事を
質問に明確に書かなかったのでお詫びします。
ありがとうございました。
No.1
- 回答日時:
>検索範囲の("A1:C4")の『C4』を変数に変更はできますでしょうか。
できます。
dim Hanni as string
とでも定義して、どこかで
Hanni = "A1:C4"
と代入しておいて
Range("E1") = Application.WorksheetFunction.VLookup(Range("D1"), Range(Hanni), 2, False)
にすれば良いです。
>(データは増える予定ですなので)
データが増える為に行数が不定で、かつ、データが入っている下に別の表が無いのであれば、変数にする必要は無く、単に
Range("E1") = Application.WorksheetFunction.VLookup(Range("D1"), Range("A:C"), 2, False)
として、行を指定しなければ良いだけですが、これでは駄目なのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) エクセル VBA 条件付き書式 簡略化したい 2 2022/06/02 17:46
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
- Visual Basic(VBA) ExcelのVBAで教えてください。 Vlookupで、X X.value = applicatio 1 2022/12/26 13:40
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) エクセルのvlookupについて質問です 3 2023/01/05 15:15
- Visual Basic(VBA) worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応 3 2022/12/27 22:27
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
VLOOKUP関数:別シートにある参照範囲が変動する場合
Access(アクセス)
-
VLookupで参照する範囲を変数で渡したい
Access(アクセス)
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
-
4
vlookup関数の引数を変数で指定することはできますか?
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
9
VBAで文字列を数値に変換したい
Excel(エクセル)
-
10
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
11
ピボットテーブルでの毎回可変するデータの最終行までの範囲を指定したいです。
PowerPoint(パワーポイント)
-
12
エクセル マクロ 最終列までを全選択
Excel(エクセル)
-
13
VBA別シートの最終行の下行へ貼り付けされるようにしたいです。
その他(Microsoft Office)
-
14
エクセル マクロ 範囲指定で、データの最終行・最終列を取得したい
Excel(エクセル)
-
15
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
16
VBAでvlookup関数から、別シート参照するやり方・・・
Visual Basic(VBA)
-
17
エクセルVBA Workbook変数に変数を使ったファイル名を格納したい
Visual Basic(VBA)
-
18
B列の最終行までA列をオートフィル
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
エクセル 縦に長い表の印刷時...
-
【マクロ】同じフォルダ内にあ...
-
オートフィルタで抽出したデー...
-
VBAで CTRL+HOMEの位置へ移動...
-
他のシートの一番下の行データ...
-
時間帯の重複を除いた集計について
-
Excelのセル横にリスト表示をす...
-
EXCELで2つのファイルから重複...
-
Googleスプレッドシートフィル...
-
エクセルVBAで、特定文字から始...
-
複数シートのデータを行列を入...
-
トランジスタの選び方
-
Excelでセル内の不特定位置の(...
-
エクセルのカメラ機能について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
Excelでシートの違うデータでグ...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
エクセル 縦に長い表の印刷時...
-
EXCELで2つのファイルから重複...
-
Googleスプレッドシートフィル...
-
トランジスタの選び方
-
他のシートの一番下の行データ...
-
時間帯の重複を除いた集計について
-
EXCEL の表を一行ずつシートに...
-
エクセルで名簿を50音で切り分ける
-
オートフィルタで抽出したデー...
-
エクセルのカメラ機能について
-
エクセル VBA VLOOKUP
-
【エクセル」 特定のセルで条件...
-
エクセル マクロ "特定の日付...
おすすめ情報