2017-08-25 8 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 

を以下のコードを試してみましたが、このコードでは、私は常に範囲を言及する必要があります。先ほどお話したように、別のシートのデータなので、行の長さは変わることがあります。

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

関連する問題