Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。
エクセル ブック名 あああ
これは マクロファイルです
ブック名 あああ
シート名 ししし
シート名 すすす
シート名 せせせ
シート名 そそそ
これらのシート名は左から右方向に並んでいます
ししし すすす せせせ そそそ
シート名 ししし の構成は
1行目が様々な見出しで ぎっしり。
見出し名が必要なら、
A1は あ
B1は い
C1は う 以下同様。
ただし
セルJ1 担当名
セルAN1 支店名
タテの方向にはA列からAL列まで データが、びっしりあります。
最終行は 未定で、経験的には2万から4万行で 作業の度に異なるため 不安定です
シート名 そそそ の構成
セルA1 担当名
セルB1 いいい
セルC1 支店名
行は50行固定です
VBA内容
データ満載の シート名 ししし ごと 同じブックの新規シートへコピーし、シート名をシシシ。
そのシート上で VBA を適用しVLOOKUP 関数を 担当名 ごとに 支店名を最終行まで割り当てたいです
No.3ベストアンサー
- 回答日時:
#1の回答者です
>最終行まで、Vlookup関数を貼り付けたいです。
Vlookup関数の引数のJ列最終行を
jLastRow = .Cells(Rows.Count, "J").End(xlUp).Row
で取得して
.Range("AN2:AN" & jLastRow).Formula = 数式
AN2から引数最終行までの範囲に数式を入力しています
対象範囲はExcel任せ
>データ満載の シート名 ししし ごと
なので わざわざ新規シートを作り内容をコピペする必要はなく
シートのコピーを挿入すれば良いです
Sheets("ししし").Copy After:=Sheets(Sheets.Count)
#1のコードをプロシージャ内にコピペして試してください
(注意:すでに シシシ名のシートがあるとエラーになります)
sub test ()
’ここにコピペして試してください
end sub
No.2
- 回答日時:
Sub CopyDataAndApplyVLOOKUP()
Dim wsSource As Worksheet
Dim wsDestination As Worksheet
Dim lastRow As Long
' ブック名「あああ」の「ししし」シートを取得
Set wsSource = ThisWorkbook.Worksheets("ししし")
' 新しいシートを作成し、シート名を「シシシ」とする
Set wsDestination = ThisWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count))
wsDestination.Name = "シシシ"
' シート「ししし」からデータをコピー
wsSource.UsedRange.Copy Destination:=wsDestination.Range("A1")
' 最終行を取得
lastRow = wsDestination.Cells(wsDestination.Rows.Count, "J").End(xlUp).Row
' VLOOKUP関数を適用
wsDestination.Range("AN2:AN" & lastRow).Formula = "=VLOOKUP($J2, $A$2:$C$" & lastRow & ", 3, FALSE)"
' 結果の値を保持
wsDestination.Range("AN2:AN" & lastRow).Value = wsDestination.Range("AN2:AN" & lastRow).Value
' シート「そそそ」からデータをコピー
ThisWorkbook.Worksheets("そそそ").Range("B2:C51").Copy Destination:=wsDestination.Range("AP2:AQ51")
End Sub
このコードは、シート「ししし」のデータを「シシシ」という新しいシートにコピーし、VLOOKUP関数を使用して支店名を割り当てます。また、シート「そそそ」の特定の範囲もコピーしています。最終行を求める際には、セル「J」を基準にしていますが、必要に応じて変更してください。
ありがとうございます
初心者です
最終の行が毎回変わるため マクロを登録しようとしても VLOOKUP 関数を最後の行がどこで終わるかわからず マクロが使えないと思い
VBA でお尋ねしました
頂いた参考に作業します
ありがとうございます
No.1
- 回答日時:
こんにちは 内容がなんとなくですが
こんな事をしたいのかな?と・・・
データ数が多いのであれば重くなるかもしれませんね
Sheets("ししし").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "シシシ"
Dim jLastRow As Long
With Sheets("シシシ")
jLastRow = .Cells(Rows.Count, "J").End(xlUp).Row
.Range("AN2:AN" & jLastRow).Formula = "= VLOOKUP(J2,そそそ!A$2:C$50,3)"
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセルマクロ 数式【VLOOKUP】最終行取得
Excel(エクセル)
-
VLOOKUP関数 最下行取得方法
Excel(エクセル)
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAから書き込んだ条件付き初期...
-
【VBA】 結合セルに複数画像と...
-
Excel VBAについて。こんな動作...
-
VBA 最終行の取得がうまくいか...
-
VBA Application.Matchについて...
-
【ExcelVBA】値を変更しながら...
-
Excel VBA 定義されたプロージ...
-
ExcelのVBAコードについて教え...
-
Excelのマクロについて教えてく...
-
不要項目の行削除方法について
-
VBA 同じフォルダ内のすべての...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでCOPYを繰り返すと、処理が...
-
ExcelVBA シート名を複数セルか...
-
【マクロ】オートフィルターに...
-
vba Windowオブジェクト(Window...
-
Vba 型が一致しません(エラー1...
-
Excelのマクロについて教えてく...
-
VBAでセルの書式を変えずに文字...
-
Excel VBA 選択範囲の罫線色の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAについて教えて下さい
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
【ExcelVBA】5万行以上のデー...
-
VBA Application.Matchについて...
-
Excelのマクロについて教えてく...
-
Excel VBAについて。こんな動作...
-
Excelの数式について教えてくだ...
-
ExcelのVBAコードについて教え...
-
VBA 同じフォルダ内のすべての...
-
不要項目の行削除方法について
-
Vba 型が一致しません(エラー1...
-
【マクロ】オートフィルターに...
-
【VBA】 結合セルに複数画像と...
-
VBAで特定の文字が入った行をコ...
-
ExcelのVBAコードについて教え...
-
VBAでセルの書式を変えずに文字...
-
VBAのエラー表示の対処法について
-
Excelのマクロについて教えてく...
-
Excel マクロについて詳しい方...
おすすめ情報