Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » ユーザー設定リストを書き出すマクロ

ユーザー設定リストを書き出すマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

Excelではユーザー設定リストに登録をすることで、ユーザーが設定した順序で、データの並べ替えや入力を行うことができるようになります。

大量のユーザー設定リストを定義しているときに、ユーザー設定リストをワークシート上に書き出すような機能が欲しくなります。

[スポンサードリンク]
そのためのExcelマクロをVBA(Visual Basic for Applications)で作成しましたのでご紹介しておきます。
Sub ユーザー設定リストを書き出す()
 Dim list_items As Variant
 Dim list_n As Long ' ユーザー設定リストの数
 Dim item_n As Long ' ユーザー設定リストに登録されている項目数
 
 Worksheets.Add Before:=Sheets(1)
 
 For list_n = 1 To Application.CustomListCount  
  list_items = Application.GetCustomListContents(list_n)  
  For item_n = 1 To UBound(list_items)
   Cells(item_n, list_n).Value = list_items(item_n)
  Next item_n 
 Next list_n
End Sub

上記のマクロを実行すると、アクティブなブックの先頭にワークシートが追加され、元々Excelで定義されているリストも含めて、ユーザー設定リストが書き出されます。

Application.CustomListCountプロパティでユーザー設定リストの数を取得できるので、ユーザー設定リストの数だけループ処理を実行します。
 For list_n = 1 To Application.CustomListCount

ユーザー設定リストの項目はApplication.GetCustomListContentsメソッドで取得できるので、Variant型の変数・list_itemsに配列として格納して、
  list_items = Application.GetCustomListContents(list_n)

リスト項目の数だけループを回して順番に書き出しています。
  For item_n = 1 To UBound(list_items)
   Cells(item_n, list_n).Value = list_items(item_n)

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » ユーザー設定リストを書き出すマクロ

「マクロのサンプル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.