!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b6da-6NWR)
2021/03/18(木) 22:08:43.71ID:jtngtgXU02デフォルトの名無しさん (ワッチョイ 013d-drwQ)
2021/03/18(木) 22:33:41.83ID:e6JgDwDC0 教えて下さい。
あるシートに買物記録があり、日付や購入店、商品名や単価の他に、商品の分類という列があります。
その列には「文具」「食品」「書籍」等が入力されています。
VBAで以下の動作をさせたいです。
↓
別シートにあるダウンリストに、選択肢として、この商品分類に入力されている値を設定する。
重複して入力されている値は無視。入力されているすべての「分類」をひとつずつ選択肢にする。
↑
これをどう書けばいいのか、教えて下さい。
よろしくお願いいたします。
あるシートに買物記録があり、日付や購入店、商品名や単価の他に、商品の分類という列があります。
その列には「文具」「食品」「書籍」等が入力されています。
VBAで以下の動作をさせたいです。
↓
別シートにあるダウンリストに、選択肢として、この商品分類に入力されている値を設定する。
重複して入力されている値は無視。入力されているすべての「分類」をひとつずつ選択肢にする。
↑
これをどう書けばいいのか、教えて下さい。
よろしくお願いいたします。
3デフォルトの名無しさん (ワッチョイ 13ad-7MQm)
2021/03/19(金) 02:09:13.85ID:pQtJO8X70 関数でも分類列をMATCHで検索してRow()と不一致なら空白として、それを入力規則にすれば出来そう
VBAでやるなら連想配列使って重複弾いて、かな
VBAでやるなら連想配列使って重複弾いて、かな
4デフォルトの名無しさん (アウアウウー Sa5d-dI/L)
2021/03/19(金) 12:08:42.44ID:Efxeclnea >>2
もう少し個別にどの部分で詰まっているか書いた方がいいんじゃね
もう少し個別にどの部分で詰まっているか書いた方がいいんじゃね
5デフォルトの名無しさん (ワッチョイ 4901-gJ6t)
2021/03/19(金) 12:19:16.87ID:Rf8ZEH4N0 >>2
ワークシート関数でいいなら
適当なセルに
=UNIQUE(商品の分類が入力された列)
と入力すると重複整理された配列が入力される
プルダウンリストを作りたいセルを選択して「データの入力規則」を選択、
規則をリスト、ソースをさっき作った配列がある列にする
ワークシート関数でいいなら
適当なセルに
=UNIQUE(商品の分類が入力された列)
と入力すると重複整理された配列が入力される
プルダウンリストを作りたいセルを選択して「データの入力規則」を選択、
規則をリスト、ソースをさっき作った配列がある列にする
6デフォルトの名無しさん (アウアウウー Sa5d-/HWa)
2021/03/19(金) 13:13:27.10ID:LUl3FuSJa ピボットグラフのRefresh処理が重くて困ってます
汎用的な処理中に停止すべき項目(画面描画、自動計算、イベント、アラート等)は停止させています
元テーブルの行は100程度です
処理を軽くする方法があればご教示願います
汎用的な処理中に停止すべき項目(画面描画、自動計算、イベント、アラート等)は停止させています
元テーブルの行は100程度です
処理を軽くする方法があればご教示願います
7デフォルトの名無しさん (ワッチョイ 0bda-4Ddi)
2021/03/19(金) 20:19:38.16ID:TXt81ZmU0 >>6
ピボットテーブルの設定で「更新時に列幅を自動調整する」のチェックを外す
ピボットテーブルの設定で「更新時に列幅を自動調整する」のチェックを外す
8デフォルトの名無しさん (ワッチョイ 4901-gJ6t)
2021/03/19(金) 20:23:00.26ID:Rf8ZEH4N0 ググるとそれ出て来るけど、あんまり意味ないよ
って言いつつ効果あったら恥ずかしいけど
って言いつつ効果あったら恥ずかしいけど
9デフォルトの名無しさん (ワッチョイ 0bda-4Ddi)
2021/03/19(金) 22:16:15.80ID:TXt81ZmU0 初心者にはそのくらいしか教えられん
10デフォルトの名無しさん (アウアウウー Sa5d-/HWa)
2021/03/19(金) 22:28:12.63ID:ZGQ0wMm+a11デフォルトの名無しさん (ワッチョイ 4901-gJ6t)
2021/03/19(金) 23:06:18.73ID:Rf8ZEH4N0 というか元々のグラフ生成が重いのかマクロが重いのか分からん
普通に更新ボタン押しても重いの?
普通に更新ボタン押しても重いの?
12デフォルトの名無しさん (アウアウウー Sa5d-/HWa)
2021/03/19(金) 23:55:25.74ID:tSoX9T0pa13デフォルトの名無しさん (ワッチョイ 4901-gJ6t)
2021/03/20(土) 00:13:52.57ID:1HieLmil0 グラフ更新よりも関数で固まってる可能性の方が高いから、
一度全部の関数を削除してみて解決するか確認した方がいいと思う
自動計算切っててもピボット更新時に再計算されてる筈だし
一度全部の関数を削除してみて解決するか確認した方がいいと思う
自動計算切っててもピボット更新時に再計算されてる筈だし
14デフォルトの名無しさん (アウアウウー Sa5d-/HWa)
2021/03/20(土) 01:01:30.93ID:7VltWvHha >>13
ありがとうございます
ワークシート関数は使わず、計算は全部vbaでやっています
関数と言えるのはピボットグラフのグラフ部分だけです
ピボットグラフのグラフ部分の関数が重くなっている可能性が考えられるかも、と思いました
ありがとうございます
ありがとうございます
ワークシート関数は使わず、計算は全部vbaでやっています
関数と言えるのはピボットグラフのグラフ部分だけです
ピボットグラフのグラフ部分の関数が重くなっている可能性が考えられるかも、と思いました
ありがとうございます
15デフォルトの名無しさん (ワッチョイ 09da-dI/L)
2021/03/20(土) 04:43:36.06ID:kQoUW+sA0 すげえなワークシート関数一切使わんでマクロだけでやるとは
16デフォルトの名無しさん (ワッチョイ 0bda-4Ddi)
2021/03/20(土) 06:51:00.93ID:EyTYq69F0 遅いとか速いとか漠然としているので何秒かかっているかもわからんし
データ量やステップが増えればある程度遅くなるのは当然じゃね
データ量やステップが増えればある程度遅くなるのは当然じゃね
17デフォルトの名無しさん (ワッチョイ b15f-1iFT)
2021/03/20(土) 07:28:18.81ID:/meO8w1y0 2〜3秒でも遅いと思う人もいるしね
18デフォルトの名無しさん (ワッチョイ 7b35-cZ1W)
2021/03/20(土) 10:08:34.03ID:D1FjuE5r0 VBA使ってんならどの部分でどんだけ時間かかってるか測定すりゃいいだけの話なのになぜしないんだろう
19デフォルトの名無しさん (アウアウウー Sa5d-/HWa)
2021/03/20(土) 11:15:44.57ID:Awf5aTeqa20デフォルトの名無しさん (ワッチョイ 0bda-4Ddi)
2021/03/20(土) 20:35:40.01ID:EyTYq69F0 PCの性能が低いんじゃね
21デフォルトの名無しさん (ワッチョイ 09da-dI/L)
2021/03/20(土) 20:48:09.36ID:kQoUW+sA0 それだ!
パソコンのせい
ゲーミング用買えば全てにおいてスマホ級の速さだ!
パソコンのせい
ゲーミング用買えば全てにおいてスマホ級の速さだ!
2021/03/21(日) 16:59:06.62
5chのスレで1000まで書き込まれたスレを1から1000までコピペしてsheet1に貼り付け
sheet1を特定のキーワードで検索して、書き込まれたレスと返信があったレスを抽出してsheet2に貼り付けしたいです
返信がない場合は空白と入力したいです
アイデアが思い付きません、宜しくお願いします
sheet1を特定のキーワードで検索して、書き込まれたレスと返信があったレスを抽出してsheet2に貼り付けしたいです
返信がない場合は空白と入力したいです
アイデアが思い付きません、宜しくお願いします
23デフォルトの名無しさん (ワッチョイ b15f-1iFT)
2021/03/21(日) 17:54:39.86ID:fT/r6tJT0 いつもの
24デフォルトの名無しさん (ワッチョイ d17c-0ZVt)
2021/03/21(日) 21:09:20.26ID:aZS3hsKq0 >>6
イベントやアラートって目的も無く停止しない方がいいと思うが
イベントやアラートって目的も無く停止しない方がいいと思うが
25デフォルトの名無しさん (ラクッペペ MMeb-GXsX)
2021/03/22(月) 05:59:51.89ID:B7/s/yNjM >>22
5chアフィ乙
5chアフィ乙
26デフォルトの名無しさん (アウアウウー Sa5d-TxCv)
2021/03/23(火) 06:37:42.10ID:3hKAtAlua エクセルからhtmlで保存するとき
グラフが1000以上でもできますか
グラフが1000以上でもできますか
27デフォルトの名無しさん (ワッチョイ 0bda-4Ddi)
2021/03/23(火) 10:17:41.75ID:lizcePOK0 自分で作らずに質問してくる意味が解らない
28デフォルトの名無しさん (ワッチョイ 298e-GJb0)
2021/03/23(火) 14:45:46.64ID:KXdqd9JD0 ゆとりだから
29デフォルトの名無しさん (ワッチョイ 5190-U6ZO)
2021/03/23(火) 15:16:16.58ID:J1vTYXys0 選択した範囲をグラフにするマクロを作りたいです
マクロ記録でグラフ化するまでを記録し、それを改造してやっているのですが
' Macro1 Macro
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlRadar
ActiveChart.SetSourceData Source:=Range(左上:右下)
End Sub
「選択してる範囲を取得」してその範囲を代入する方法がよくわかりません
ActiveChart.SetSourceData Source:=Range(左上:右下)
のRangeの左上、右下部分にSelection(1)やSelection(Selection.Count)を入れようとしてるのですがエラーになります
マクロ記録でグラフ化するまでを記録し、それを改造してやっているのですが
' Macro1 Macro
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlRadar
ActiveChart.SetSourceData Source:=Range(左上:右下)
End Sub
「選択してる範囲を取得」してその範囲を代入する方法がよくわかりません
ActiveChart.SetSourceData Source:=Range(左上:右下)
のRangeの左上、右下部分にSelection(1)やSelection(Selection.Count)を入れようとしてるのですがエラーになります
30デフォルトの名無しさん (JP 0H63-THbH)
2021/03/23(火) 17:44:03.01ID:XH4udpo7H selectionだけでいいんじゃね
31デフォルトの名無しさん (ワッチョイ 13ad-7MQm)
2021/03/23(火) 17:59:59.95ID:dulEqDGL0 チャートをセレクトしてるからセルのセレクトが外れてるんだよ
Addchartの時にセレクトじゃなくてオブジェクト変数にセットして
アクティブチャートの行を【変数名】.(以下略)にしてやってみ
変数にセットするときに文頭のSetを忘れないようにな
Addchartの時にセレクトじゃなくてオブジェクト変数にセットして
アクティブチャートの行を【変数名】.(以下略)にしてやってみ
変数にセットするときに文頭のSetを忘れないようにな
32デフォルトの名無しさん (ワッチョイ 71fd-ED79)
2021/03/24(水) 18:47:39.00ID:7fnGaRlR0 エラー処理で On Error GoTo を On Err GoTo と書いていて
全く気付かずエラーになって初めて、ラベルに飛ばないので気づきました。
デバッグでは判定しないようですが、これらを事前にチェックで見つけることは
出来ないのですかね?
全く気付かずエラーになって初めて、ラベルに飛ばないので気づきました。
デバッグでは判定しないようですが、これらを事前にチェックで見つけることは
出来ないのですかね?
33デフォルトの名無しさん (テテンテンテン MMeb-g1di)
2021/03/24(水) 19:49:11.93ID:SmPCs0wuM ヤフーファイナンスの仕様が変わった?のか、
当該銘柄のページから
Set FR = rngResult.Find(What:="出来高*", LookAt:=xlWhole)
みたいな感じで出来高取得してたのが
できなくなった
どこを直せばいいのかわからん
もしかしてこのやり方では
取得できなくなった?
当該銘柄のページから
Set FR = rngResult.Find(What:="出来高*", LookAt:=xlWhole)
みたいな感じで出来高取得してたのが
できなくなった
どこを直せばいいのかわからん
もしかしてこのやり方では
取得できなくなった?
34デフォルトの名無しさん (ドコグロ MM63-xhhb)
2021/03/24(水) 19:50:41.85ID:jjB0JAKeM >>32
まともなコードならGoto文なんてたいしてないはずだからGoto検索して目視確認で良いんじゃね?
まともなコードならGoto文なんてたいしてないはずだからGoto検索して目視確認で良いんじゃね?
3529 (ワッチョイ 9990-oXDN)
2021/03/24(水) 20:04:27.24ID:lll8bKoA0 うまくいきました、ありがとうございました
もう一つ質問させてください
以下は↓の画像のようにデータを範囲選択し実行した場合、3項目ごとに3つのグラフを表示するマクロです
@https://i.imgur.com/qb9quh1.jpg
Sub Macro1()
' Macro1 Macro
Set CTop = Selection(1)
Set CLast = Selection(Selection.Count)
Dim i As Integer
For i = 0 To 2
y = i * 3
With ActiveSheet.Shapes.AddChart.Chart
.ChartType = xlRadar
.SetSourceData Source:=Range(CTop.Offset(0, y), CLast.Offset(0, y))
End With
Next i
End Sub
ただ、データに問題があり、「行9」以降の部分を抜き出してグラフを作りたいんです
そこで↓のように範囲選択をして実行したのですが、系列名が出ないのでどのデータかわかりにくいんですよね
Ahttps://i.imgur.com/u2vrDOl.jpg
実際のデータは膨大なため、いちいち「行○○〜行○○まで」と数値で指定するのは難しいです
できればA画像のように手動で範囲選択した場合、@のようにa,b,cと系列名が出るのが理想です
.SetSourceData Source:=Range(○○) の部分をうまく変更すればいいのか、それとも
.SeriesCollection(1).Name = ○○ とあとで系列名を変えるのが良いのでしょうか?
もう一つ質問させてください
以下は↓の画像のようにデータを範囲選択し実行した場合、3項目ごとに3つのグラフを表示するマクロです
@https://i.imgur.com/qb9quh1.jpg
Sub Macro1()
' Macro1 Macro
Set CTop = Selection(1)
Set CLast = Selection(Selection.Count)
Dim i As Integer
For i = 0 To 2
y = i * 3
With ActiveSheet.Shapes.AddChart.Chart
.ChartType = xlRadar
.SetSourceData Source:=Range(CTop.Offset(0, y), CLast.Offset(0, y))
End With
Next i
End Sub
ただ、データに問題があり、「行9」以降の部分を抜き出してグラフを作りたいんです
そこで↓のように範囲選択をして実行したのですが、系列名が出ないのでどのデータかわかりにくいんですよね
Ahttps://i.imgur.com/u2vrDOl.jpg
実際のデータは膨大なため、いちいち「行○○〜行○○まで」と数値で指定するのは難しいです
できればA画像のように手動で範囲選択した場合、@のようにa,b,cと系列名が出るのが理想です
.SetSourceData Source:=Range(○○) の部分をうまく変更すればいいのか、それとも
.SeriesCollection(1).Name = ○○ とあとで系列名を変えるのが良いのでしょうか?
36デフォルトの名無しさん (ワッチョイ 13ad-7MQm)
2021/03/24(水) 20:32:05.20ID:HXzqnMHf0 個人的には系列名変える方が好き
>>32
インタプリタは事前に文法チェックをしないのが普通ですから、そういうのはインタプリタには無理でしょう‥‥
インタプリタは事前に文法チェックをしないのが普通ですから、そういうのはインタプリタには無理でしょう‥‥
38デフォルトの名無しさん (ワッチョイ b92f-6umI)
2021/03/24(水) 22:00:53.02ID:T3engiTo0 いまどき純粋なインタプリタなんてそうそうないけどな
一応VBAは事前にコンパイルチェックできるが、>>32は
On 変数 GoTo xxっていう文法があってそれにそっているからエラーにならない
そして変数宣言を強制しても、Errって組み込みオブジェクトが宣言なしで使えるという罠
なんかコード分析するようなツールでもあれば検出できるかもしれんが、まあ標準の範囲じゃ無理だな
一応VBAは事前にコンパイルチェックできるが、>>32は
On 変数 GoTo xxっていう文法があってそれにそっているからエラーにならない
そして変数宣言を強制しても、Errって組み込みオブジェクトが宣言なしで使えるという罠
なんかコード分析するようなツールでもあれば検出できるかもしれんが、まあ標準の範囲じゃ無理だな
39デフォルトの名無しさん (ワッチョイ 0bda-4Ddi)
2021/03/24(水) 22:54:43.12ID:/MIQ1K/L0 >>35
元データと選択された表示用データを別にすればいいんじゃね
元データと選択された表示用データを別にすればいいんじゃね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【外交】前台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」 [1ゲットロボ★]
- 大国の中国さん、日本人から「嫌なことがあったらすぐにちゃぶ台返す幼稚な国」との印象を持たれてしまう。でも対抗手段はなし… [271912485]
- 【愛国者速報】フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [856698234]
- 横浜市職員が公文書偽造と廃棄!市民に「お前が虚偽の申告をしたと言え」と命令😨 [369521721]
- 【ござる専🏡】風間🥷配信実況スレ🏯【風間いろは】
- 細川バレンタイン、高岡蒼佑(元祖ネトウヨの親玉)にブチギレ。 [242521385]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
