100754 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

ULALA'Sブログ

ULALA'Sブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2020.09.16
XML
カテゴリ:VBA
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​今回からテーブルについて記載していこうと思う。
テーブルと言っているが、具体的には、
ListObjects(ListObject)のことを言う。​

こちらも並び替え同様、新しく追加された項目で、
量が多いため、何回かに分けて
記載してみようと思う。

今回は表からテーブルの作成方法
および、
​ListObjectからのテーブル名取得&表示​​

を実施してみる。

--------------------------------------
①ListObjects
--------------------------------------

まずは、表形式のデータをテーブル形式の
データに変換してみる。

下記画像の通り、表を作成したのち、

「Ctrl」+「T」と入力すると「テーブルの作成」
ダイアログが表示される。

見出し込みで範囲を合わせてOKボタンを押下する。



綺麗に色分けされ、「テーブル」として設定された。
※この段階でVBA的にもListObjectとして扱えることになるが、
今まで通りRange("B2").Value等での値の取得も可能。(メリットは無いだろうが、、)




テーブルにはテーブル名がつけられる。
ルールとしては、記載したExcelブック内で唯一の
名前となる。





確認の為、追加で2つほど表を作り、それらをテーブル化し、
それぞれ、テーブル2、テーブル3、という名前を付けた。
テーブル右下にテーブルの名前の画像を証拠として貼り付け。



ソース

Sub getTableNames()
    ' シートに存在するテーブルの数を表示
    MsgBox ("テーブルの数は" & ​Sheets(4).ListObjects.Count​ & "です")

    ' テーブル名を表示
    Dim i As Long
    For i = 1 To Sheets(4).ListObjects.Count Step 1
        MsgBox (​Sheets(4).ListObjects(i)​)
    Next i
    ' テーブル名は以下の方法でも取得可
    'Sheets(4).ListObjects(2).Name
    'Sheets(4).ListObjects(3).DisplayName
End Sub

結果



Sheet(4)は今回利用したシートの番号。
本シートには
Sheets(4).ListObjects.Count
により、3つのListObjectつまりテーブルが
設定されており、きちんとテーブル名が
表示されたことが確認できた。


また、ListObjectsは、
0番目ではなく、
1番目から始まるところに注意

今回は簡単にテーブルの名称を表示する処理を記載してみた。
次回からはデータ部についての操作方法などを記載しようと思う。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2020.09.16 22:56:48
コメント(0) | コメントを書く


PR

Profile

ULALA13

ULALA13

Calendar


© Rakuten Group, Inc.