
分析は大事だが、分析に必要なデータの作成が大変なんだよな~。なんとか自動化したいところ。
という悩みを抱えていましたが、無事に解決できました!
項目ごとのツイートランキングを自動作成
以下のようにして、解決しました。
1.事前知識
以下の記事の続きとなります。

2.使用したもの
・Excel マクロ
3.手順
表の大枠となるシートを作成。
Excelマクロを使用して、項目ごとのツイートランキングを自動作成。
準備
以前のデータ確認と今回使用するシートを作成します。
・以前のデータ確認とシート作成

上記記事で作成したデータを確認します。
ユーザープロフィールクリック率とURLクリック率を追加したものですね。
上記画像のようなシートを作成します。
シート名は「Sheet2」とします。
コード記入・修正・実行
ランキングを作成するコードをマクロに記入後、微調整を行い、実行します。
①コード記入
マクロを作成していきます。
開発>Visual Basic
をクリック。
標準モジュール>Module1
をダブルクリックします。表示されたModule1ウィンドウに以下のコードを追加で記入します。
Sub Twitter分析表作成②() ' ' Twitter分析表作成② Macro ' 使用前準備↓ ' ファイル名を置換してください ' filename→tweet_activity_metrics_Hide21Hk_xxxx_yyyy_ja ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Add2 _ Key:=Range( _ "filename[[#All],[ユーザープロフィールクリック率]]" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("L2:L6").Select Selection.Copy Sheets("Sheet2").Select Range("C3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("C6").Select Sheets("Sheet1").Select Range("C2:C6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B3").Select ActiveSheet.Paste Range("B12").Select Sheets("Sheet1").Select Application.CutCopyMode = False ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Add2 _ Key:=Range( _ "filename[[#All],[ユーザープロフィールクリック]]" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("K2:K6").Select Selection.Copy Sheets("Sheet2").Select Range("C10").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("C2:C6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B10").Select ActiveSheet.Paste Sheets("Sheet1").Select Application.CutCopyMode = False ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Add2 _ Key:=Range( _ "filename[[#All],[エンゲージメント率]]"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("G2:G6").Select Selection.Copy Sheets("Sheet2").Select Range("C17").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("C2:C6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B17").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=15 Sheets("Sheet1").Select Application.CutCopyMode = False ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Add2 _ Key:=Range( _ "filename[[#All],[インプレッション]]"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("E2:E6").Select Selection.Copy Sheets("Sheet2").Select Range("C24").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("C2:C6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B24").Select ActiveSheet.Paste Sheets("Sheet1").Select Application.CutCopyMode = False ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort.SortFields.Add2 _ Key:=Range( _ "filename[[#All],[エンゲージメント]]"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects( _ "filename").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("F2:F6").Select Selection.Copy Sheets("Sheet2").Select Range("C31").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("C2:C6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B31").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-27 End Sub
「Twitter分析表作成②」はマクロの名前です。自由に変えてもらってかまいません。
②コードの修正と実行
実行するファイルに合わせて、修正していきます。
上記画像は、コードをそのままコピペした状態です。ここから修正を加えていきます。
修正内容は簡単です。
開いているファイル名を指定の場所に置換するのみです。では、やってみましょう。
編集>置換
をクリック。
検索する文字列:filename
置換後の文字列:開いているファイル名※ファイル形式を表す「.○○」の部分は含まない
上記のように記入します。
「次を検索」と「置換」を繰り返して、コード内のfilenameの部分をファイル名に置き換えます。
Module1ウィンドウ右上の表示がこれから実行するマクロ名になっていることを確認し、「実行」アイコンをクリックします。
③確認
Sheet2のシートを確認してみましょう。
上記のように、項目ごとにランキング化されていたら成功です。
このように、Excelのマクロ機能を使用することで、Twitter分析に必要なデータを自動で作成することができます。
4.まとめ
本記事のまとめです。
5.参考文献

コメント