ID非公開さん
2022/1/22 16:22
2回答
Excelマクロで、最終行について質問です。 Dim wb5 As Workbook Dim ws1 As Worksheet, ws5 As Worksheet
Excelマクロで、最終行について質問です。 Dim wb5 As Workbook Dim ws1 As Worksheet, ws5 As Worksheet Dim p As Long, q As Long, t As Long Dim lr5 As Long, lr1 As Long Dim n1 As Long, n5 As Long Dim arr1, arr5 Set wb5 = Workbooks.Open("E:\AI.CSV") Set ws5 = wb5.Worksheets("AI") Set ws1 = ThisWorkbook.Worksheets("データ") ws1.Activate arr1 = Array("B", "C", "G", "H", "O", "S") '転記先列 arr5 = Array("E", "G", "K", "J", "F", "Q") '転記元列 ☆① For q = 0 To UBound(arr5) n5 = Cells(1, arr5(q)).Column n1 = Cells(1, arr1(q)).Column lr5 = ws5.Cells(Rows.Count, n5).End(xlUp).Row lr1 = lr5 + 2 ws1.Range(ws005.Cells(4, n1), ws1.Cells(lr1, n1)).Value = ws5.Range(ws5.Cells(2, n5), ws5.Cells(lr5, n5)).Value Next q ☆② With ws1 '商品名取得 Const cFormula As String = "=VLOOKUP(C4,商品!A:B,2,FALSE)" With .Range("C4:C" & lr1).Offset(, 1) .Formula = cFormula .Value = .Value End With ①の配列で転記するためのlr1ですが、②でも使用していいのでしょうか。 それとも、新しく1つの列で変数宣言し使用した方がいいのでしょうか。 よろしくお願いいたします。
Visual Basic | Excel・114閲覧
ベストアンサー
ID非公開さん
質問者2022/1/22 18:55
理解したいので教えて下さい。 lr5 = ws5.Cells(Rows.Count, n5).End(xlUp).Row は、arr5の列の行番号だと思っているのですが、 Array(\u0022E\u0022, \u0022G\u0022, \u0022K\u0022, \u0022J\u0022, \u0022F\u0022, \u0022Q\u0022)の全ての中での最終行と言う事でしょうか。
質問者からのお礼コメント
理解出来ました! いつもありがとうございます!
お礼日時:1/22 19:59