簡體   English   中英

vba 在 B 列中找到最后一行並調整表格范圍

[英]vba find last row in column B and resize table range

我有兩個啟用宏的工作簿。 一個用於由多個用戶收集數據(Macro for Tracker),另一個(Tracker)只是存儲數據的地方。 “跟蹤器的宏”將打開“跟蹤器”,復制特定列中的粘貼值,保存並關閉它。 現在,我正在嘗試將 Tracker 本身中的表格范圍調整為 B 列中的最后一行,但在這里一直失敗。

Tracker 包含帶有公式的列,並且只有一個時間戳代碼。 我試圖添加一個私有子,它將在打開時運行,但它不起作用並給我錯誤“下標超出范圍”:

Dim ws As Worksheet
Dim ob As ListObject
Dim Lrow1 As Long

Lrow1 = Sheets("Main").Cells(Rows.Count, "B").End(xlUp).Row
Set ws = ActiveWorkbook.Worksheets("B")
Set ob = ws.ListObjects("Table2")

ob.Resize ob.Range.Resize(Lrow1)

此外,我試圖在“Macro for Tracker”工作簿中添加行,以便在復制粘貼后調整大小,但它變得更加復雜。 我在這里迷路了。 表范圍

在您的代碼中,您似乎引用了一個名為B的工作表。 我只能假設(沒有看到您的工作簿)您實際上是指Main ..

嘗試這個

Dim ws As Worksheet
Dim ob As ListObject
Dim Lrow1 As Long

Set ws = ActiveWorkbook.Worksheets("main")
Lrow1 = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

Set ob = ws.ListObjects("Table2")
ob.Resize ob.Range.Resize(Lrow1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM