2017-08-25 62 views
-1

我有一個工作表「丟失」。這張表通常是來自我另一張表格「數據」的數據的一部分。根據數據創建工作表的表格

我希望將缺少的表格的內容總包裹在表格中。

我嘗試下面的代碼,

Sub LoopingThroughTable() 
     Sheets("Missing").ListObjects.Add(xlSrcRange, Range("$B$1:$D$16"), , xlYes).Name = _ 
      "Table19"  
     Sheets("Missing").ListObjects("Table19").TableStyle = "TableStyleLight12" 
    End Sub 

但與此代碼,我需要經常提及的範圍內。正如我之前所說,由於它是來自另一張表的數據,所以行長度可能會有所不同。

so eevrytime我從我的工作表中提取數據數據結果,我一直想繪製一個表格只爲可用內容。

任何人都可以幫助,我該怎麼做?

+0

然後用另一張紙的行數動態地設置範圍? – UGP

+0

[行中最後一個不爲空的單元格; Excel VBA](https://stackoverflow.com/questions/4872512/last-not-empty-cell-in-row-excel-vba) –

回答

1

只要「缺失」工作表上的數據從B1開始,您可以爲最後一行分配一個變量並使用該範圍中的變量。 所以,你的代碼將是這樣的:

Sub LoopingThroughTable() 
    lastrow = Worksheets("Missing").Cells(Rows.Count, "B").End(xlUp).Row 
    Sheets("Missing").ListObjects.Add(xlSrcRange, Range("$B$1:$D$" & lastrow), , xlYes).Name = _ 
     "Table19"  
    Sheets("Missing").ListObjects("Table19").TableStyle = "TableStyleLight12" 
End Sub 

林還假定當前的代碼工作。

+0

代碼有效。但現在的問題是,桌子正在重疊。 – Jenny

+0

和每次我運行我的代碼時,它說,表不能與另一個表重疊 – Jenny

+1

即使手動輸入範圍,也會發生這種情況?我還對「lastrow」變量進行了修正。 – ShanayL