Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


841 / 13645 ツリー ←次へ | 前へ→

【78004】ピボットテーブルからの安全なデータの読み方 りった 16/3/4(金) 17:03 質問[未読]
【78007】Re:ピボットテーブルからの安全なデータの... マナ 16/3/4(金) 22:24 発言[未読]
【78021】Re:ピボットテーブルからの安全なデータの... りった 16/3/7(月) 10:06 お礼[未読]
【78022】Re:ピボットテーブルからの安全なデータの... りった 16/3/7(月) 11:32 お礼[未読]
【78008】Re:ピボットテーブルからの安全なデータの... γ 16/3/4(金) 22:52 発言[未読]

【78004】ピボットテーブルからの安全なデータの読...
質問  りった  - 16/3/4(金) 17:03 -

引用なし
パスワード
   各販社の週報(入力ファイル)からデータを取り出し、全販社のファイルを作ります。
週報のデータはピボットテーブルで、行ラベルは、カテゴリ毎/機種毎/販売国です。

販社(ヨーロッパ)からの週報のイメージ
        行ラベル    |3/1|3/2
        オーディオ機器 |  |
         ABC Speaker |  |
          ドイツ   |100|110
          フランス  |200|220
         MP3 PlayerZ |  |
          ドイツ   |100|110
          フランス  |200|220
        テレビ     |  |
         ABC TV 2K  |  |
          ドイツ   |100|110
          フランス  |200|220
         ABC TV 4K  |  |
          ドイツ   |100|110
          フランス  |200|220

※ カテゴリ = {オーディオ機器,テレビ,・・・}
  機種 = {ABC Speaker,MP3 PlayerZ,ABC TV 2K,ABC TV 4K,・・・}
  販売国 = {ドイツ,フランス,・・・}

質問
行ラベルの属性が、カテゴリ/機種/販売国のいずれであるかはどのように判定するのが安全ですか?
(1) インデントレベルで判定 → グループ化されていると困る
(2) カテゴリ一覧、国一覧の表をあらかじめ用意し、該当有無を調べる → 微妙に違う書き方されると困る。
(3) なにかもっといい方法有りますか?

【78007】Re:ピボットテーブルからの安全なデータ...
発言  マナ  - 16/3/4(金) 22:24 -

引用なし
パスワード
   ▼りった さん:

安全?かどうかはわかりませんが
地道に1つずつ確認していく方法です。

Sub test()
  Dim pvf As PivotField
  Dim pvi As PivotItem
  Dim s As String
  Dim flg As Boolean
  
  s = "ドイツ"

  For Each pvf In ActiveSheet.PivotTables(1).PivotFields
    For Each pvi In pvf.PivotItems
      If pvi.Name = s Then
        MsgBox "フィールド名は: " & pvf.Name
        flg = True
        Exit For
      End If
    Next
    If flg Then Exit For
  Next
  
  If flg = False Then
    MsgBox "その名前は見つかりませんでした"
  End If
  
End Sub

【78008】Re:ピボットテーブルからの安全なデータ...
発言  γ  - 16/3/4(金) 22:52 -

引用なし
パスワード
   ▼りった さん:
> (3) なにかもっといい方法有りますか?
と言われても、

>全販社のファイルを作ります。
そのファイルがどんなフォーマットなのかを示さないとわかりません。
途中プロセスに関する質問をされる前に、
全体としてなにをしたいのかを示していただきたい。

【78021】Re:ピボットテーブルからの安全なデータ...
お礼  りった  - 16/3/7(月) 10:06 -

引用なし
パスワード
   回答ありがとうございます。

PivotTablesというのを使うんですね。
Rangeで見に行っているのがそもそも駄目だったんだと思います。
PivotTablesでググって検討します。
参考になりました。ありがとうございます。

【78022】Re:ピボットテーブルからの安全なデータ...
お礼  りった  - 16/3/7(月) 11:32 -

引用なし
パスワード
   いただいたサンプルコードをデバッグ実行したら、何やってるかわかりました。
私が考えていたのよりずっと安全です。ありがとうございます。

841 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free