たなちの開発日誌

自分の知識をストックしていくためのブログ

【VBA】ピボットテーブルの作り方

手動でピボットテーブルを作成するときは意識しないが、PivotCacheオブジェクトが必要になる。

イメージ的にはこんな感じ。

  1. dataSourceをPivotCacheにコピー

  2. PivotCacheからPivotTableを作成

参考: tonari-it.com

タスク別の所要時間を示したテーブルから、ピボットテーブルを作成する。 f:id:chi_tana:20170924003508p:plain:w300

PivotCaches.Create ピボットテーブルキャッシュを作成

SourceType:データ型*1 ExcelのデータならxlDatabase。

SourceData:ソースデータを指定

CreatePivotTable ピボットテーブルを作成

TableDestination:ピボットテーブルを配置する位置(左上端)を指定

TableName:テーブル名を指定

値フィールドの設定

行フィールドはコードに書いた通り、列フィールドもほぼ同じ書き方なので省略

PivotTable.AddDataField メソッド (Excel)

Field:フィールドを指定(PivotFieldsにフィールド列名を指定)

Caption:データフィールドの名前を指定

Function:に最大値や平均等の集計方法を指定

表示形式を変更する場合は.NumberFormatプロパティを設定

Private Function createPivot()

    Dim wb As Workbook
    Dim sheet As Worksheet
    Dim pivotCache As pivotCache 'ピボットキャッシュ格納用変数

    Set wb = Workbooks.Open(Book.xlsx)
    Set sheet = wb.Worksheets("データ"))

    'ピボットテーブルキャッシュに、「データ」シートのセル範囲をセット
    Set pivotCache = ActiveWorkbook.PivotCaches.Create( _
        SourceType:=xlDatabase, _
        sourcedata:=sheet.Range("A1", Cells(Rows.Count, 3).End(xlUp)) _
        )

    'ピボットテーブルを作成、配置先を設定
    pivotCache.CreatePivotTable _
        TableDestination:=sheet.Range("H1"), _
        TableName:="タスク別所要時間"

    With sheet.PivotTables("タスク別所要時間")
        'ピボットテーブルに行フィールドを追加
        .AddFields RowFields:=Array("タスク")

        'ピボットテーブルに値フィールドを追加
        .AddDataField( _
            Field:=sheet.PivotTables("タスク別所要時間").PivotFields("時間"), _
            Caption:="最大値 / 時間", _
            Function:=xlMax).NumberFormat = "mm:ss.000"
    End With

End Function

【Mac】画像に矢印を書き込むやり方

色々なブログでよく見かける画像に矢印を書き込む方法を見つけたのでメモ。

Monosnapを入手

App Storeのリンクからダウンロードできる

Monosnap

Monosnap

  • Farminers Limited
  • グラフィック&デザイン
  • 無料

※windows版も公式サイトからダウンロードできる

Monosnap - Free Screenshot Tool

起動するとメニューバーの右上に稲妻のマークが表示される

この画像はMonosnapを使って作ってみたもの

f:id:chi_tana:20170923024423p:plain:w500

キャプチャした画像を保存せずに編集することも、選択した画像を開いて編集することもできる!

保存する前に編集できる分、Macのスクリーンショット機能よりも使い勝手が良さそうかなー

後は画面を動画保存したり、Monosnapのアカウントを作成してクラウドにアップロードする機能があった。課金をすればEvernoteやDropboxとも連携できるみたい

スマホのタッチパネルが反応しなくなったのでマウス操作した

こんにちは。スマホのタッチパネルが反応しなくなってロックが解除できなくなりました。しかもパターン認証で使っている部分だけという。

こういう場合にググると出て来る「画面を拭きましょう」「指を濡らしましょう」といった対策は試しましたがだめでした。

さらにググると出て来たのは「スマホをマウスで操作する」方法でした。これで一旦、ロック解除できたので方法を書いていきます。

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

変換アダプターでスマホとマウスを接続します。

マウスポインターが表示されるので、後は感覚的に操作できます。左右のクリックでタップしたときと同じ動きをしてくれました。

f:id:chi_tana:20170917223755j:plain

以上です。