Excelのスライサーが便利だった

f:id:elve:20211214210901p:plain
というわけで、初めてスライサーなる機能を使ってみました。こいつは便利だ! ダミーデータ5000件
hogehoge.tk

住所が凶悪なセル結合
f:id:elve:20211210220043p:plain

ばらして少し分類する。年代追加
f:id:elve:20211210220615p:plain

班(ランダム1-10)を3つの課に分ける
f:id:elve:20211214200212p:plain

ちょい順番変えて整えますか。後値貼り付けしておきましょう。
f:id:elve:20211214200648p:plain

この黄色い個人情報はいらないから削除。
f:id:elve:20211214200522p:plain

マクロ概要を考える。

  1. A,C,H列で区切り位置を実行して数値に変換
  2. テーブルを作成
  3. シート追加
  4. 新しいシートにA:D,F:I,J,Kのスライサーを追加

シート1はpersonal_infomation
シート1のマクロ

Sub add_kugiri()
 '区切り位置
Columns("A:A").TextToColumns
Columns("C:C").TextToColumns
Columns("H:H").TextToColumns
 'テーブル作成
Me.ListObjects.Add(xlSrcRange, Range("A1").CurrentRegion, , xlYes).Name = "ソース"
Me.ListObjects("ソース").TableStyle = "TableStyleLight9"
Me.ListObjects("ソース").ShowTableStyleColumnStripes = True
End Sub

シート2はslicer
標準モジュール

Sub makeTable()
 'slicerのページ選択
Sheet2.Select
 '列幅20字
Columns.ColumnWidth = 20
 'slicerタイトル
Dim slTitle: slTitle = Array("", "連番", "課", "班", "性別", "都道府県", "郵便番号", "年代", "出身地", "血液型")
Dim i As Integer
Dim t As Double
Dim l As Double
Dim w As Double
Dim h As Double
For i = 1 To UBound(slTitle)
t = Sheet2.Cells(1, i).Top
l = Sheet2.Cells(1, i).Left
w = Sheet2.Cells(1, i).Width
h = Range(Sheet2.Cells(1, i), Sheet2.Cells(10, i)).Height
ActiveWorkbook.SlicerCaches.Add(Sheet1.ListObjects("ソース"), slTitle(i)).Slicers.Add _
ActiveSheet, , slTitle(i), slTitle(i), t, l, w, h
Next
End Sub

f:id:elve:20211214204503p:plain

コレ例えば、1課の30代以上の北海道の顧客・・・とか
f:id:elve:20211214210450p:plain

とても視覚的にわかるんすよ!! コレは便利!!(2回め)

どのくらい面白かった?

星を押して送信してね

平均 0 / 5. Vote count: 0

是非フォローしてください

最新の情報をお伝えします

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です