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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
別のシートから値を取得するとき
Visual Basic(VBA)
-
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
-
4
VBA 最終行まで数式をコピーする
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
7
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
8
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
9
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
10
エクセルマクロ 数式【VLOOKUP】最終行取得
Excel(エクセル)
-
11
VLOOKUP関数 最下行取得方法
Excel(エクセル)
-
12
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
13
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
14
エクセルマクロにて最終行まで数式をコピーする構文
Excel(エクセル)
-
15
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
16
マクロで最終行を取得してコピーしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba SelStart、SelLen教えてく...
-
【VBA】マクロの入ったファイル...
-
A列に記載されているフォルダ...
-
VBA listBoxから
-
ExcelVBA シート名を複数セルか...
-
現在のブックを閉じないで、マ...
-
Outlookの「受信日時」「送信者...
-
ユーザーフォームに別シートか...
-
VBAコンボボックスで選択した値...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
Outlookの「受信日時」「件名」...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
Excelのマクロでワードのテキス...
-
【ExcelVBA】インデックスが有...
-
VBA 別ブックからコピペしたい...
-
VBA実行後に元のセルに戻りたい
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコードを教えてください
-
【ExcelVBA】インデックスが有...
-
ExcelVBA シート名を複数セルか...
-
エクセルvbaについて
-
エクセルのマクロについて教え...
-
【VBA】マクロの入ったファイル...
-
VBA UserFormからの転記で
-
エクセルVBAの配列について
-
Excelで「Ctrl+c」、「Ctrl+v...
-
VBAコードについて教えてくださ...
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
VBAで質問があります
-
VBAコードについて
-
【ExcelVBA】VBA実行でダイアロ...
-
Excel関数またはVBAでの質問に...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
Outlookの「受信日時」「件名」...
おすすめ情報