銀河鉄道

【VBA】Excelにテーブルを設定する

サムネイル
VBAテーブル設定

テーブル設定

Public sub test( _
                                            ByVal wb As Workbook, _
                                            ByVal ws As Worksheet, _
                                            ByVal IsBlack As Boolean, _
                                            Optional ByVal row As Variant)

    With wb
        With ws
            On Error Resume Next
            '念のため既存のテーブル解除
            .ListObjects(1).Unlist

            Dim tbl As ListObject
            If IsMissing(row) Then
                Set tbl = .ListObjects.Add(xlSrcRange, .Cells(1, 1).CurrentRegion, , xlYes)
            Else
                Set tbl = .ListObjects.Add(xlSrcRange, .Cells(row, 1).CurrentRegion, , xlYes)
            End If

            With tbl
                If IsBlack Then
                    .TableStyle = "TableStyleLight8" '黒
                Else
                    .TableStyle = ""  'テーブルスタイル無し
                End If
            End With
            On Error GoTo 0
        End With
    End With
End sub

データに合わせてテーブルサイズを変更する

With ws
    'データ貼り付け
    .Cells(1, 1).Resize(1, UBound(ary) + 1).value = ary

    'テーブルサイズ変更
    .ListObjects("テーブル名").Resize Range("A1").CurrentRegion
End With

関連記事

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧