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 最終行まで数式をコピーする
Visual Basic(VBA)
-
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
-
4
VLOOKUP関数 最下行取得方法
Excel(エクセル)
-
5
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
VBAを使って検索したセルをコピーして別の場所に貼り付ける。
Visual Basic(VBA)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
10
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
11
エクセルマクロにて最終行まで数式をコピーする構文
Excel(エクセル)
-
12
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
13
エクセルマクロ 数式【VLOOKUP】最終行取得
Excel(エクセル)
-
14
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsからのExcelアドインのカス...
-
ExcelのVBAコードについて教え...
-
Geogebraの操作方法について
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
【ExcelVBA】値を変更しながら...
-
VBA 複数のエクセルから一つの...
-
VBAで大量のファイルをシート名...
-
Vba 実数および実数タイプの変...
-
Excelのマクロについて教えてく...
-
VBA レジストリの値の読み方に...
-
VBAで各列の"+"と"o"の合計数を...
-
Excel VBAで値を変えながら、pd...
-
VB.NETでボタンのクリックイベ...
-
指定した条件で行セルを非表示...
-
エクセルVBAについて
-
【マクロ】1つのマクロの中に...
-
VBA ユーザーフォーム ボタンク...
-
エクセルについて
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
VBA レジストリの値の読み方に...
-
Excelのマクロについて教えてく...
-
ユーザーフォームに別シートか...
-
VBAの計算で@が出てしまう件
-
エクセルVBAについて
-
Vba 実数および実数タイプの変...
-
【ExcelVBA】値を変更しながら...
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
エクセルVBAについて
-
VBA ユーザーフォーム ボタンク...
-
VBA 何かしら文字が入っていたら
-
エクセルについて
-
2つのマクロでチェックボックス...
-
【マクロ】1つのマクロの中に...
-
ExcelのVBAコードについて教え...
-
VB.net(VB)で、フォームにExcel...
-
Vba SelStart、SelLen教えてく...
-
Excel-VBAのmsgBox()の不思議
おすすめ情報