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も見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
別のシートから値を取得するとき
Visual Basic(VBA)
-
VBA 最終行まで数式をコピーする
Visual Basic(VBA)
-
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
-
4
VLOOKUP関数 最下行取得方法
Excel(エクセル)
-
5
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
6
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
7
VBAを使って検索したセルをコピーして別の場所に貼り付ける。
Visual Basic(VBA)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
13
エクセルマクロ 数式【VLOOKUP】最終行取得
Excel(エクセル)
-
14
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
15
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
16
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
17
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
18
エクセルマクロにて最終行まで数式をコピーする構文
Excel(エクセル)
-
19
VBA 数式を最終行までコピー
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
VBA一覧取得
-
エクセルVBAについて
-
VBA ユーザーフォーム ボタンク...
-
VBA 複数のエクセルから一つの...
-
【ExcelVBA】値を変更しながら...
-
VBAに詳しい方教えてください。
-
VBA listBoxについて
-
Vba 実数および実数タイプの変...
-
現在のブックを閉じないで、マ...
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
-
VBA マウスクリックとキーボー...
-
VBA レジストリの値の読み方に...
-
2つのマクロでチェックボックス...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ExcelのVBAコードについて教え...
-
【マクロ】1つのマクロの中に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報