Excel VBA 質問スレ Part70at TECH
Excel VBA 質問スレ Part70 - 暇つぶし2ch1:デフォルトの名無しさん
21/03/18 22:08:43.71 jtngtgXU0.net
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part69
スレリンク(tech板)
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2:デフォルトの名無しさん
21/03/18 22:33:41.83 e6JgDwDC0.net
教えて下さい。
あるシートに買物記録があり、日付や購入店、商品名や単価の他に、商品の分類という列があります。
その列には「文具」「食品」「書籍」等が入力されています。
VBAで以下の動作をさせたいです。
 ↓
別シートにあるダウンリストに、選択肢として、この商品分類に入力されている値を設定する。
重複して入力されている値は無視。入力されているすべての「分類」をひとつずつ選択肢にする。
 ↑
これをどう書けばいいのか、教えて下さい。
よろしくお願いいたします。

3:デフォルトの名無しさん
21/03/19 02:09:13.85 pQtJO8X70.net
関数でも分類列をMATCHで検索してRow()と不一致なら空白として、それを入力規則にすれば出来そう
VBAでやるなら連想配列使って重複弾いて、かな

4:デフォルトの名無しさん
21/03/19 12:08:42.44 Efxeclnea.net
>>2
もう少し個別にどの部分で詰まっているか書いた方がいいんじゃね

5:デフォルトの名無しさん
21/03/19 12:19:16.87 Rf8ZEH4N0.net
>>2
ワークシート関数でいいなら
適当なセルに
=UNIQUE(商品の分類が入力された列)
と入力すると重複整理された配列が入力される
プルダウンリストを作りたいセルを選択して「データの入力規則」を選択、
規則をリスト、ソースをさっき作った配列がある列にする

6:デフォルトの名無しさん
21/03/19 13:13:27.10 LUl3FuSJa.net
ピボットグラフのRefresh処理が重くて困ってます
汎用的な処理中に停止すべき項目(画面描画、自動計算、イベント、アラート等)は停止させています
元テーブルの行は100程度です
処理を軽くする方法があればご教示願います

7:デフォルトの名無しさん
21/03/19 20:19:38.16 TXt81ZmU0.net
>>6
ピボットテーブルの設定で「更新時に列幅を自動調整する」のチェックを外す

8:デフォルトの名無しさん
21/03/19 20:23:00.26 Rf8ZEH4N0.net
ググるとそれ出て来るけど、あんまり意味ないよ
って言いつつ効果あったら恥ずかしいけど

9:デフォルトの名無しさん
21/03/19 22:16:15.80 TXt81ZmU0.net
初心者にはそのくらいしか教えられん

10:デフォルトの名無しさん
21/03/19 22:28:12.63 ZGQ0wMm+a.net
>>7
ありがとうございます
ですが 処理が重くて困っているのはテーブル(ピボットテーブルではない)から作っているピボットグラフなのです
これが重かったりするんですかね…?

11:デフォルトの名無しさん
21/03/19 23:06:18.73 Rf8ZEH4N0.net
というか元々のグラフ生成が重いのかマクロが重いのか分からん
普通に更新ボタン押しても重いの?

12:デフォルトの名無しさん
21/03/19 23:55:25.74 tSoX9T0pa.net
>>11
普通に手動でも遅いです…
何かピボットグラフの設定によるものならとも思いますが…

13:デフォルトの名無しさん
21/03/20 00:13:52.57 1HieLmil0.net
グラフ更新よりも関数で固まってる可能性の方が高いから、
一度全部の関数を削除してみて解決するか確認した方がいいと思う
自動計算切っててもピボット更新時に再計算されてる筈だし

14:デフォルトの名無しさん
21/03/20 01:01:30.93 7VltWvHha.net
>>13
ありがとうございます
ワークシート関数は使わず、計算は全部vbaでやっています
関数と言えるのはピボットグラフのグラフ部分だけです
ピボットグラフのグラフ部分の関数が重くなっている可能性が考えられるかも、と思いました
ありがとうございます

15:デフォルトの名無しさん
21/03/20 04:43:36.06 kQoUW+sA0.net
すげえなワークシート関数一切使わんでマクロだけでやるとは

16:デフォルトの名無しさん
21/03/20 06:51:00.93 EyTYq69F0.net
遅いとか速いとか漠然としているので何秒かかっているかもわからんし
データ量やステップが増えればある程度遅くなるのは当然じゃね

17:デフォルトの名無しさん
21/03/20 07:28:18.81 /meO8w1y0.net
2~3秒でも遅いと思う人もいるしね

18:デフォルトの名無しさん
21/03/20 10:08:34.03 D1FjuE5r0.net
VBA使ってんならどの部分でどんだけ時間かかってるか測定すりゃいいだけの話なのになぜしないんだろう

19:デフォルトの名無しさん
21/03/20 11:15:44.57 Awf5aTeqa.net
>>18
Refreshのところで3秒かかっています
他処理全部は0.5秒で終わります

20:デフォルトの名無しさん
21/03/20 20:35:40.01 EyTYq69F0.net
PCの性能が低いんじゃね

21:デフォルトの名無しさん
21/03/20 20:48:09.36 kQoUW+sA0.net
それだ!
パソコンのせい
ゲーミング用買えば全てにおいてスマホ級の速さだ!


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch