2017-05-17 10 views
0

次のコードを使用して、別のシートからコピーされた表の表スタイルを変更しました。使用される列はB-Sであり、行1はヘッダーであり、残りは表データです。行は1000行を超えることはない可能性がありますが、可能であれば、行の表示用にフォーマットされた表のみを使用したいと考えています。これは、テーブルが更新されるたびに変わります。複数のシートのVBAによる表スタイルの変更

9つの異なるシートのテーブルスタイルを変更したいのですが、すべて同じ列ヘッダーを使用しています。異なる部門ごとにシートごとに分割されています。私は繰り返してみるとエラーに遭ったので、私は助けを求めています。まだ基本的なVBAの知識

`Sheets("Rich Baran").Select 
    Range("B1").Select 
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlDown)).Select 
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$1:$P:P"), , xlYes).Name = _ 
     "Table3" 
    Range("Table3[#All]").Select 
    ActiveSheet.ListObjects("Table3").TableStyle = "TableStyleMedium2" 

Sheets("Jamie Lorfano").Select 
    Range("B1").Select 
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlDown)).Select 
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$1:P:P"), , xlYes).Name = _ 
     "Table3" 
    Range("Table3[#All]").Select 
    ActiveSheet.ListObjects("Table3").TableStyle = "TableStyleMedium2"` 
+0

どのようなエラーがありましたか? –

+0

@PaulCo "Select Method or Range Class Failed。行" ActiveSheet.ListObjects( "Table3")をハイライト表示します。TableStyle = "TableStyleMedium2" '2回目の使用時 –

+0

また、なぜあなたの範囲はPだけになるのでしょうか?それとも意図的なのですか? –

答えて

0

範囲をテーブルとしてリストする場合は、それもリストから外してください。ここで

は、上記のコードからベースのサンプルコードです:

Dim rList As Range 

On Error Resume Next 
With Worksheets("Jamie Lorfano") 
    If .ListObjects.Count > 0 Then 
     .ListObjects ("Table3") 
     Set rList = .Range 
     .Unlist 
    End If 
End With 

Sheets("Jamie Lorfano").Select 
    Range("B1").Select 
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlDown)).Select 
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$1:P:P"), , xlYes).Name = _ 
     "Table3" 
    Range("Table3[#All]").Select 
    ActiveSheet.ListObjects("Table3").TableStyle = "TableStyleMedium2" 

With Worksheets("Rich Baran") 
    If .ListObjects.Count > 0 Then 
     .ListObjects ("Table3") 
     Set rList = .Range 
     .Unlist 
    End If 
End With 

Sheets("Rich Baran").Select 
    Range("B1").Select 
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlDown)).Select 
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$1:P:P"), , xlYes).Name = _ 
     "Table3" 
    Range("Table3[#All]").Select 
    ActiveSheet.ListObjects("Table3").TableStyle = "TableStyleMedium2" 

私は上記のコードを試してみましたが、私のために正常に動作しています。

+0

私はこれを試してみます他のシートでこれを繰り返すことができるリストはありませんか –

+0

このメッセージは「下付き文字が範囲外です」 –

+0

エラーが表示される行はどれですか? –

関連する問題