ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part83
https://mevius.5ch.net/test/read.cgi/tech/1749348402/
探検
Excel VBA 質問スレ Part84
2025/10/01(水) 14:36:42.66ID:lecUwKjm
2025/10/06(月) 09:38:05.20ID:CrcLFeiU
2025/10/06(月) 10:52:24.34ID:0TYeR8/V
まーた新しいオモチャ拡げ出したぞw SoR系だからSQLが重宝されてきたんだろうに
アナリティクスなんて概念、後発も後発 まあ、SoRに於いてSQLでAnalyticsしてた
という見方もできるわけで、もはや何言っても相手に響かないからお口チャックしときなよ
アナリティクスなんて概念、後発も後発 まあ、SoRに於いてSQLでAnalyticsしてた
という見方もできるわけで、もはや何言っても相手に響かないからお口チャックしときなよ
2025/10/06(月) 11:44:57.78ID:sh+WI5Ke
話の繋がりがよく分からないが、そういう分析方面でならパワークエリも強みを活かせるということであれば、適材適所ってことでいいんじゃない? カジュアルかつアドホックに色々できるということが強みなんだろうから。
2025/10/06(月) 11:56:16.85ID:6luOortV
相変わらずVBAの話題以外では盛り上がるVBAスレ
2025/10/06(月) 13:59:52.57ID:+9LX7loy
2025/10/06(月) 16:51:14.76ID:0TYeR8/V
本気でそう思ってるなら、なんでここに居るし
ソッチのスレに常駐してるなり新スレ立てるなりして、ソッチで続けてればいいのに
単にケンカ売りに来てるん?
ソッチのスレに常駐してるなり新スレ立てるなりして、ソッチで続けてればいいのに
単にケンカ売りに来てるん?
58デフォルトの名無しさん
2025/10/06(月) 20:20:36.05ID:eyP2NojD 本物のサーバーに対してSQLを叩いた方が高速なのも
Pythonで複雑な計算を行う方が高速(素のPythonのループ処理はVBAより遅い)なのも一切否定していません
私はただExcelしか使用できない環境でも便利な機能がありますよ
と言っただけです
Pythonで複雑な計算を行う方が高速(素のPythonのループ処理はVBAより遅い)なのも一切否定していません
私はただExcelしか使用できない環境でも便利な機能がありますよ
と言っただけです
2025/10/07(火) 10:01:47.48ID:vEgtxFhe
社会人として言い訳はみっともない やっぱりおもちゃを片付けられないしんのすけレベル
(あなた達は知らないだろうけど)Power Query っていう便利な機能がありますよ、とでも主張したかったのか?
VBAスレで? ビジネスSoft板のExcel相談所辺りで言い募るならまだしも、ここの住人なんかはとっくに試用してる
だろうに 試したうえでケースバイで使う事もあるかも知らんけど、実務でそんなに活用するシーンも無いな
という肌感覚じゃあ無いのか 取り敢えずVBAでSQL書いて目的は達成できているんだし
ネット上とかの得体の知れない大量のデータに対してザッピングしてみて有用なデータかどうか、予め毒見してみて
実際に利用するかどうか判断の元にするような時には使ってみるのも楽だろうけど
Power Query 至る所でバンバン使い倒してますよ、という実務者カモン 事例提示プリーズ
(あなた達は知らないだろうけど)Power Query っていう便利な機能がありますよ、とでも主張したかったのか?
VBAスレで? ビジネスSoft板のExcel相談所辺りで言い募るならまだしも、ここの住人なんかはとっくに試用してる
だろうに 試したうえでケースバイで使う事もあるかも知らんけど、実務でそんなに活用するシーンも無いな
という肌感覚じゃあ無いのか 取り敢えずVBAでSQL書いて目的は達成できているんだし
ネット上とかの得体の知れない大量のデータに対してザッピングしてみて有用なデータかどうか、予め毒見してみて
実際に利用するかどうか判断の元にするような時には使ってみるのも楽だろうけど
Power Query 至る所でバンバン使い倒してますよ、という実務者カモン 事例提示プリーズ
2025/10/07(火) 10:38:57.70ID:msD1NTB5
61デフォルトの名無しさん
2025/10/07(火) 15:16:40.55ID:bK/qJy7b いつもの境界知能の人だろ
62デフォルトの名無しさん
2025/10/07(火) 20:10:16.59ID:S93aMo2F そうね
いつもの境界知能の人が必死にAIの回答をコピペしてる感じだね
いつもの境界知能の人が必死にAIの回答をコピペしてる感じだね
63デフォルトの名無しさん
2025/10/09(木) 12:42:40.22ID:M3Iz7qJA 仕事できなくて年収低いんだから
パワークエリ使おうがVBA使おうがたいしたもんできないよ
パワークエリ使おうがVBA使おうがたいしたもんできないよ
2025/10/09(木) 17:06:30.50ID:+B8QV1e9
はい終了~
65デフォルトの名無しさん
2025/10/10(金) 06:43:28.00ID:oR3uH8u+ 質の高い回答はなく、誹謗中傷しかないのはなぜなのでしょうか?
2025/10/10(金) 08:26:12.39ID:hdfpIN1/
・質が低く適切な回答をできない質問だから
・質問は妥当だが答えられない、でも何か言いたい質の低い回答者がいるから
大抵はこのどちらから
・質問は妥当だが答えられない、でも何か言いたい質の低い回答者がいるから
大抵はこのどちらから
2025/10/10(金) 09:13:23.19ID:XIv0t+FX
自分はOFFICEスクリプトって使ったことないんだけど、VBAとは適宜棲み分けがされそうな感じ? それともVBAを置き換える方に行きそう? 一応、VBAにできること全てができるわけではないってことは聞いているけど。
68デフォルトの名無しさん
2025/10/10(金) 09:56:09.14ID:cInZxt5e >>65
貴方が質の高い回答をしないのはなぜ?
貴方が質の高い回答をしないのはなぜ?
2025/10/10(金) 10:44:13.39ID:MfSuKUVs
OFFICEスクリプトは、あくまでも定型業務の自動化、しかもOneDrive上で を目指してるので
まだまだ発展途上だし
何より、OneDrive自体が今のところ各端末のパフォーマンスを下げる最大要因に成り果ててるので
様子見勢が多いのだと思われ(何でそこまでMSに加勢しなきゃならんのか、と)
まだまだ発展途上だし
何より、OneDrive自体が今のところ各端末のパフォーマンスを下げる最大要因に成り果ててるので
様子見勢が多いのだと思われ(何でそこまでMSに加勢しなきゃならんのか、と)
2025/10/10(金) 11:49:19.24ID:+bT2e97Y
なるほど、OFFICEスクリプトはまだ全然って感じなのね。
VBAは構文が古くさいと言われることが多いけど、少なくともその点を理由としてOFFICEスクリプトに移行しようという動きはあまりないということか。やっぱりクラウドベースでっていうところが想像以上にネックになっているということなのね(たしかにちょっと試してみようと思ったときに、クラウドで云々と言われたら面倒くさそうとなるのは分かる気がする)。
VBAは構文が古くさいと言われることが多いけど、少なくともその点を理由としてOFFICEスクリプトに移行しようという動きはあまりないということか。やっぱりクラウドベースでっていうところが想像以上にネックになっているということなのね(たしかにちょっと試してみようと思ったときに、クラウドで云々と言われたら面倒くさそうとなるのは分かる気がする)。
2025/10/10(金) 15:30:53.82ID:YT8cXARa
いやいや、それは逆
そもそもデータが散らばってるからそれを纏めるためにVBAを使うことはよくあって、
VBAのユースケースとしてはかなり大きなウェイトを占めるんだよ
クラウドだと共有ブックを直接編集すればいいので、少なくともそういう用途のVBAのニーズは大幅に減る
そもそもデータが散らばってるからそれを纏めるためにVBAを使うことはよくあって、
VBAのユースケースとしてはかなり大きなウェイトを占めるんだよ
クラウドだと共有ブックを直接編集すればいいので、少なくともそういう用途のVBAのニーズは大幅に減る
2025/10/10(金) 17:15:15.57ID:rdtXmqP1
Officeスクリプトはアカウントに紐づくからVBAのようなファイル1つで済む手軽さがない
2025/10/10(金) 17:46:44.61ID:+bT2e97Y
ブックの共有とかって全然しないから、そこら辺の認識はなかったな。クラウドというよりOneDriveとか管理のされ方に問題があるって感じなのかな。
2025/10/10(金) 18:31:05.45ID:DrrVl6np
そも動かすプラットフォームが違うんだからどちらを使うか選ぶシーンが存在しない
2025/10/10(金) 18:46:30.53ID:YT8cXARa
76デフォルトの名無しさん
2025/10/10(金) 22:45:13.21ID:6xVCTbsk またいつもの境界知能者が荒らしてる
2025/10/10(金) 23:20:57.31ID:XIv0t+FX
理由はともかく、OFFICEスクリプトは少なくとも現状では習得上の優先順位が高い感じではなさそうね。
VBAの構文が苦手というタイプの人はPytnonのxlwingsとかに流れる感じなのかな。あれはPytnon越しにVBAのオブジェクトをいじっているようなものなので、実質VBAみたいな感じだけど。
VBAの構文が苦手というタイプの人はPytnonのxlwingsとかに流れる感じなのかな。あれはPytnon越しにVBAのオブジェクトをいじっているようなものなので、実質VBAみたいな感じだけど。
2025/10/11(土) 08:45:48.88ID:X9HmeuU+
>>76
傍から見てると、あんたもソッチにズブズブ沈み込んでる風に見えるがな
もそっと、知恵のある発言するなり、若しくはボケだのギャグだの
ユーモアやペーソス混ぜたような発言とかを心掛けてもらえると、コッチも読んでて心地いいんだが
傍から見てると、あんたもソッチにズブズブ沈み込んでる風に見えるがな
もそっと、知恵のある発言するなり、若しくはボケだのギャグだの
ユーモアやペーソス混ぜたような発言とかを心掛けてもらえると、コッチも読んでて心地いいんだが
2025/10/11(土) 09:06:22.22ID:iR3N7kKL
xlwingsいいよな
調子に乗って沢山呼ぶと糞遅いけど
調子に乗って沢山呼ぶと糞遅いけど
2025/10/11(土) 12:07:30.45ID:Yl843iVz
2025/10/16(木) 14:30:54.76ID:oDClVh0R
プルールのひとつめっけ
https://dl.ndl.go.jp/pid/1077355/1/31
日本全国諸会社役員録という本、アドレスはあくまでも31/914ページという意味
最初から見てっても中々面白い 東京府だし、並び順はいろは順だし ヰもヱもあるし
ビルデングもビルヂングも混在 日本フヰラメンドあり日本フアイアツト自動車あり
ブルドックソースが何だって?
https://dl.ndl.go.jp/pid/1077355/1/31
日本全国諸会社役員録という本、アドレスはあくまでも31/914ページという意味
最初から見てっても中々面白い 東京府だし、並び順はいろは順だし ヰもヱもあるし
ビルデングもビルヂングも混在 日本フヰラメンドあり日本フアイアツト自動車あり
ブルドックソースが何だって?
2025/10/16(木) 15:17:07.38ID:oDClVh0R
2025/10/17(金) 06:28:14.20ID:Qpm+e9K0
6分で終わる簡単な作業をいつもやってるからと思ってExcel VBAにしたら4時間もかかった
40回でペイする計算
1ヶ月に1回の頻度として3年4ヶ月でペイする計算
1ヶ月以上ブランクがあって作るのに時間がかかった
これを作るときに以前作った別のものをまた作ってしまったことに大体完成してから気づいた
使わないと作ったことを忘れる
役に立つものでこれからも使うか使わないか前もって予測できないから作るしかない
そのなかに使うものが出てくるし使わないものも出てくる
ちょこちょこ作るのは効果があると分かってるが本当に効果があるか愚痴を言いたくなった
40回でペイする計算
1ヶ月に1回の頻度として3年4ヶ月でペイする計算
1ヶ月以上ブランクがあって作るのに時間がかかった
これを作るときに以前作った別のものをまた作ってしまったことに大体完成してから気づいた
使わないと作ったことを忘れる
役に立つものでこれからも使うか使わないか前もって予測できないから作るしかない
そのなかに使うものが出てくるし使わないものも出てくる
ちょこちょこ作るのは効果があると分かってるが本当に効果があるか愚痴を言いたくなった
2025/10/17(金) 08:01:24.16ID:lzj//9Gm
なんたるプログラミング能力が低さよ
85デフォルトの名無しさん
2025/10/17(金) 09:21:41.22ID:2jUaiXhz まあスキルも積み重ねが大事
あと人為的ミス防止やデータが多い時も速いことなども目的にしないとね
若いなら転職の小ネタにもできる
あと人為的ミス防止やデータが多い時も速いことなども目的にしないとね
若いなら転職の小ネタにもできる
2025/10/17(金) 16:13:06.36ID:IG/te/XB
イレギュラーなデータとかエラー処理とか完璧にやろうとするとメインの処理は簡単でもめちゃくちゃ長いコードになったりする
2025/10/17(金) 18:48:27.53ID:ZOdCVHpQ
でも他人に使わせる前提だとそこがすごく大事なんだよな
自分用を手早く作れるのはそこ端折れるからってのがある
自分用を手早く作れるのはそこ端折れるからってのがある
88デフォルトの名無しさん
2025/10/18(土) 14:30:46.29ID:ViyQQZbE 質問です
・テキストボックスを多用したユーザーフォーム群を作っていて、IMEMode変更を多用している
・一部vbIMEModeKatakanahalf(以下半カナ)に設定してある
・フォームを使い終わったとき、IMEModeOnが半カナに固定されてしまう(要するにA↔半カナ状態に)
そうなってしまうのは仕方ないけど、フォームを抜ける時にA↔全かなの状態に戻したい
ということでTerminate処理で全かなのBoxにSetfocusしてから抜けるようにしてみたところ、ステップインなら成功するけど通しで処理させると失敗してしまう…
なんかいい方法ありませんか?
全かなBoxのみを設置した仮フォームを呼び出してすぐ閉じるくらいしかないのかなぁ…
・テキストボックスを多用したユーザーフォーム群を作っていて、IMEMode変更を多用している
・一部vbIMEModeKatakanahalf(以下半カナ)に設定してある
・フォームを使い終わったとき、IMEModeOnが半カナに固定されてしまう(要するにA↔半カナ状態に)
そうなってしまうのは仕方ないけど、フォームを抜ける時にA↔全かなの状態に戻したい
ということでTerminate処理で全かなのBoxにSetfocusしてから抜けるようにしてみたところ、ステップインなら成功するけど通しで処理させると失敗してしまう…
なんかいい方法ありませんか?
全かなBoxのみを設置した仮フォームを呼び出してすぐ閉じるくらいしかないのかなぁ…
89デフォルトの名無しさん
2025/10/18(土) 14:31:46.82ID:ViyQQZbE それこそ>>87の言うように自分で使う分には「ちと面倒だけどまあ戻せばいいだけ」で済むけど、PCに疎い人達にも使わせるから「なんかひらがなが打てなくなったんだけど~」って言われるのは目に見えてるので…
2025/10/18(土) 14:46:43.70ID:ViyQQZbE
連レスすみません
「基本的には英数字だけど、半カナも打つことがある」Boxもあるので、「A↔半カナ状態のIMEModeOff」にするとかもできれば理想です
「基本的には英数字だけど、半カナも打つことがある」Boxもあるので、「A↔半カナ状態のIMEModeOff」にするとかもできれば理想です
91デフォルトの名無しさん
2025/10/18(土) 17:07:29.84ID:+vuE6Mxs2025/10/18(土) 19:05:19.85ID:0zFTkOmI
>>90
自由に入力させて、入力後に判定処理入れるのがいい
自由に入力させて、入力後に判定処理入れるのがいい
2025/10/18(土) 19:06:44.69ID:ViyQQZbE
>>91
レスありがとうございます
QueryCloseでもダメでした…
なるはやで実用化したかったので、とりあえずは全かなBoxを置いたダミーフォームを一瞬出現する形でお茶を濁しました…
でも自分でもかなり使うモノだから気持ち悪さが拭えないので、可能ならどうにかもっとスマートに処理したい…
レスありがとうございます
QueryCloseでもダメでした…
なるはやで実用化したかったので、とりあえずは全かなBoxを置いたダミーフォームを一瞬出現する形でお茶を濁しました…
でも自分でもかなり使うモノだから気持ち悪さが拭えないので、可能ならどうにかもっとスマートに処理したい…
2025/10/18(土) 19:17:28.64ID:ViyQQZbE
>>92
ありがとうございます
そのまま打ってF8やF10ってのを覚えてくれれば楽なんですけどね…
PC疎い民もさすがに半角全角キーを押すことくらいは分かるので、基本的にはIMEModeOffだけど半角全角キーを押すと半カナになるってのがやりたいんです
我ながら駄文すぎて分かりにくかったけど、要約するとIMEModeOn時の行き先を自在に操りたいってことですね
ありがとうございます
そのまま打ってF8やF10ってのを覚えてくれれば楽なんですけどね…
PC疎い民もさすがに半角全角キーを押すことくらいは分かるので、基本的にはIMEModeOffだけど半角全角キーを押すと半カナになるってのがやりたいんです
我ながら駄文すぎて分かりにくかったけど、要約するとIMEModeOn時の行き先を自在に操りたいってことですね
2025/10/19(日) 10:59:45.64ID:/YxBx4q/
テキストボックスのイベントでExitにIMEを元に戻す記述を書く
https://www.javadrive.jp/excelvba/userform/index93.html
sheet上でも出来るとは まぁ、知らん奴が使ったらヒステリー起こしそうだが
https://infith.com/system/excel/ime_validation/
https://www.javadrive.jp/excelvba/userform/index93.html
sheet上でも出来るとは まぁ、知らん奴が使ったらヒステリー起こしそうだが
https://infith.com/system/excel/ime_validation/
2025/10/28(火) 09:16:29.14ID:Kk67eWAx
Worksheet_BeforeRightClickを素早いクリックに反応させる方法ってありますか?
例えば右クリックでカウントアップするような場合、ゆっくりクリックしないと取りこぼすので、それをできるだけ軽減したいという話です
例えば右クリックでカウントアップするような場合、ゆっくりクリックしないと取りこぼすので、それをできるだけ軽減したいという話です
2025/10/28(火) 11:49:26.91ID:BUlcRJ6d
2025/10/28(火) 13:00:23.09ID:NppxA0uZ
>>96
素早いクリックがダブルクリックと判定されてるかもね
素早いクリックがダブルクリックと判定されてるかもね
2025/10/28(火) 16:30:11.08ID:xLHeS3+n
そんなに連打が必要な業務なのかわからんけど
マウスも一枚岩じゃ無いから(個体によって性能違ったり、有線無線で変わるかも知らんし)
ユーザーフォームとかにオプションボタン並べて、○1 ○5 ○10 ○25 ○50 ・・とかを事前に選択してから
右クリさせるのはどうか 二度手間三度手間が嫌だとクレーム来るのとトレードオフに成るが
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True ' Prevents the default right-click menu
Application.ScreenUpdating = False ' Turn off screen updating
' Your optimized code here, e.g., displaying a custom menu or performing actions
' ...
Dim i As Integer
For i = 0 To 100
' ステータスバーの表示が更新されない場合は、コメントをはずす
'DoEvents
' ステータスバーに出力
Application.StatusBar = "処理回数:" & i
Next
' ステータスバーのクリア
'Application.StatusBar = False
Application.ScreenUpdating = True ' Turn screen updating back on
End Sub
その辺で拾った野良のコードの合体モンだけど、回数:100にするのも一瞬なんだし
マウスも一枚岩じゃ無いから(個体によって性能違ったり、有線無線で変わるかも知らんし)
ユーザーフォームとかにオプションボタン並べて、○1 ○5 ○10 ○25 ○50 ・・とかを事前に選択してから
右クリさせるのはどうか 二度手間三度手間が嫌だとクレーム来るのとトレードオフに成るが
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True ' Prevents the default right-click menu
Application.ScreenUpdating = False ' Turn off screen updating
' Your optimized code here, e.g., displaying a custom menu or performing actions
' ...
Dim i As Integer
For i = 0 To 100
' ステータスバーの表示が更新されない場合は、コメントをはずす
'DoEvents
' ステータスバーに出力
Application.StatusBar = "処理回数:" & i
Next
' ステータスバーのクリア
'Application.StatusBar = False
Application.ScreenUpdating = True ' Turn screen updating back on
End Sub
その辺で拾った野良のコードの合体モンだけど、回数:100にするのも一瞬なんだし
100デフォルトの名無しさん
2025/10/28(火) 18:40:17.09ID:k7xgJ8GR そもそも右クリック連打が必要な設計を見直したほうが早いんじゃね
101デフォルトの名無しさん
2025/10/28(火) 19:08:25.22ID:HpHj+cai よく読め、連打が必要な訳じゃないと思うぞ
俺も似たような問題にぶち当たったことがあるから言いたいことは分かる
俺の場合はユーザーフォームだったからなんとでもやりようがあったけど、シートイベントでどうすべきかは思い付かんなぁ
ユーザーフォームなり透明オブジェクトなりで代用できそうか考えてみるのは大事かもな
俺も似たような問題にぶち当たったことがあるから言いたいことは分かる
俺の場合はユーザーフォームだったからなんとでもやりようがあったけど、シートイベントでどうすべきかは思い付かんなぁ
ユーザーフォームなり透明オブジェクトなりで代用できそうか考えてみるのは大事かもな
102デフォルトの名無しさん
2025/10/28(火) 19:36:17.85ID:xLHeS3+n そうか、迂闊か
そういやチャタリング・チェックできるサイトとかあるから、そこでチェックもありか
そういやチャタリング・チェックできるサイトとかあるから、そこでチェックもありか
103デフォルトの名無しさん
2025/10/28(火) 20:59:15.35ID:WbU161W5 >>101
ダブルクリック判定にひっかかってるのかもしれんが、ユーザーフォームも単純な連打はうまく処理できない
ダブルクリック判定にひっかかってるのかもしれんが、ユーザーフォームも単純な連打はうまく処理できない
104デフォルトの名無しさん
2025/10/28(火) 21:36:11.37ID:uh3txXo7 要はこれっしょ
VBA フォームのボタンの反応が遅い理由と対策 - t-hom’s diary
https://thom.hateblo.jp/entry/2017/12/07/215055
これと同じようなことをワークシート右クリでやりたいってことやろ?
ワークシートだと安易に左クリックにはできない事情もあったりするし、こういう感じでフォームとかで代用できないか検討してみたら?
VBA フォームのボタンの反応が遅い理由と対策 - t-hom’s diary
https://thom.hateblo.jp/entry/2017/12/07/215055
これと同じようなことをワークシート右クリでやりたいってことやろ?
ワークシートだと安易に左クリックにはできない事情もあったりするし、こういう感じでフォームとかで代用できないか検討してみたら?
105デフォルトの名無しさん
2025/10/28(火) 21:48:56.73ID:xheP7Ub+ レス遅れてすみません!
まさに>>104さんの言う通りです!
より具体的に言うと5種類の値から選ばせたくて右クリックで順繰り変更するマクロを作ってたんですが、例えば4番目の値を選びたいときなんかに慣れてくるとどうしても「カチカチカチカチ」って押してしまって反応が悪いと言われたのでどうにかしたくて
反応が悪いで済めばまだいいけど、それで間違った値のまま提出されたりすると困るのだ
まさに>>104さんの言う通りです!
より具体的に言うと5種類の値から選ばせたくて右クリックで順繰り変更するマクロを作ってたんですが、例えば4番目の値を選びたいときなんかに慣れてくるとどうしても「カチカチカチカチ」って押してしまって反応が悪いと言われたのでどうにかしたくて
反応が悪いで済めばまだいいけど、それで間違った値のまま提出されたりすると困るのだ
106デフォルトの名無しさん
2025/10/28(火) 21:49:30.45ID:xheP7Ub+ 困るのだ じゃなくて 困るので です!!
107デフォルトの名無しさん
2025/10/28(火) 21:57:34.33ID:DelTjWwd バカボンのパパ(´^ω^)
108デフォルトの名無しさん
2025/10/28(火) 22:41:09.17ID:wDWtv1wu >>105
マウスじゃなくキーボードでトグルしていくUIはいかが?
こんなの(INSキーでA1セルの値が増える)
Sub Init()
Application.OnKey "{INSERT}", "ThisWorkbook.OnKey_Ins"
End Sub
Sub OnKey_Ins()
Range("A1").Value = Range("A1").Value + 1
End Sub
マウスじゃなくキーボードでトグルしていくUIはいかが?
こんなの(INSキーでA1セルの値が増える)
Sub Init()
Application.OnKey "{INSERT}", "ThisWorkbook.OnKey_Ins"
End Sub
Sub OnKey_Ins()
Range("A1").Value = Range("A1").Value + 1
End Sub
109デフォルトの名無しさん
2025/10/29(水) 02:29:29.22ID:SoMHk0As 馬鹿は馬鹿な頭で考えた馬鹿な方法に固執する例
110デフォルトの名無しさん
2025/10/29(水) 06:43:39.82ID:0NTgZ+aL これでいいのだ
111デフォルトの名無しさん
2025/10/29(水) 06:46:48.28ID:0NTgZ+aL >>109
この人カバの逆立ちなのだ
この人カバの逆立ちなのだ
11296
2025/10/29(水) 07:39:58.02ID:K2GlQHDP 代案ありがとうございます!
やはり何かしらの大体策を考えるしかないですかね
右ダブルがキャッチできれば解決するんだけどなぁ
やはり何かしらの大体策を考えるしかないですかね
右ダブルがキャッチできれば解決するんだけどなぁ
113デフォルトの名無しさん
2025/10/29(水) 18:26:50.09ID:GMHlOV3c カバは逆立ちしてもカバなのだ
114デフォルトの名無しさん
2025/10/30(木) 03:56:51.64ID:k5qTIKM4 【高市自民】自維連立に衝撃 維新トップに赤旗砲「重大疑惑」2千万円絡む疑惑と 共産党Xが「だから裏金自民党とも組めるのか」と攻撃 説明求める声
https://news.yahoo.co.jp/articles/89adcdb576a46579b90da08ae8924ad11c08b470
https://news.yahoo.co.jp/articles/89adcdb576a46579b90da08ae8924ad11c08b470
115デフォルトの名無しさん
2025/11/01(土) 03:09:02.74ID:2yW7ZPbn 環境構築も配布の容易さも世の中の情報量も加味するとpythonなんて比較対象にならんな
特定のシステムでVBAに勝てるものはないわ
運用される規模は部署内程度になゆけどさ
特定のシステムでVBAに勝てるものはないわ
運用される規模は部署内程度になゆけどさ
116デフォルトの名無しさん
2025/11/01(土) 10:44:13.81ID:kVMvyffB マクロを起動するための各種コントロールは今後はフォームを使うべきなのか
これまで作ってきたActiveXコントロールは置き換えていくべきなのか
これまで作ってきたActiveXコントロールは置き換えていくべきなのか
117デフォルトの名無しさん
2025/11/01(土) 10:47:01.86ID:abESDRO+ PythonはてっきりVBE上で使えると思ってたからなぁ
ワークシート上の関数とかじゃ使いづらすぎて拍子抜けだわ
ワークシート上の関数とかじゃ使いづらすぎて拍子抜けだわ
>>116
デフォルトでActiveX無効になったから、置き換えないと支障が出ることが多い
デフォルトでActiveX無効になったから、置き換えないと支障が出ることが多い
119デフォルトの名無しさん
2025/11/01(土) 17:42:27.38ID:Hux2CBJ+ 365に変えてから動かなくなった原因がそれだった
120デフォルトの名無しさん
2025/11/01(土) 18:59:05.05ID:h6jsjnZZ マクロが増えてきてどれがなんのマクロか分かんなくなってきた。間違ったマクロが実行されたEXCELが元に戻らないのも嫌だし、どうしたら良いですか?
121デフォルトの名無しさん
2025/11/01(土) 19:04:29.39ID:xL3BSUWP うまい具合に人のせいにしてください
122デフォルトの名無しさん
2025/11/01(土) 19:35:09.78ID:b8gravi3 間違ったマクロを実行した時にEXCELを元に戻すマクロを作ればいい
123デフォルトの名無しさん
2025/11/01(土) 19:53:55.68ID:+zpxt/zr 適切なマクロを実行するマクロを作る
124デフォルトの名無しさん
2025/11/01(土) 20:11:15.61ID:6pe+t0kU AIに丸投げして聞いたらいい
完璧に教えてくれるよ
完璧に教えてくれるよ
125デフォルトの名無しさん
2025/11/01(土) 22:42:21.33ID:h6jsjnZZ >>121
採用!
採用!
126デフォルトの名無しさん
2025/11/05(水) 14:44:44.11ID:rUtaLWLS >>125
人のせいであっても現状の問題への対応はしなければならないのではないか
人のせいであっても現状の問題への対応はしなければならないのではないか
127デフォルトの名無しさん
2025/11/16(日) 08:35:29.66ID:BUsW0orn ピボットテーブルのスライサーが変更されたとき、
ピボットテーブルを置いているsheetについて
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
を使っていくつかのマクロを実行させるようにしているんだけど、
これが3つあって、関連するクエリーやらをちょっとメンテ作業すると、これも動いてしまうものだから、
いちいちコメントアウト?(頭に ' 付けるヤツ)にして、このマクロを止めている。
これもっと上手いやり方ないかしら?
ピボットテーブルを置いているsheetについて
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
を使っていくつかのマクロを実行させるようにしているんだけど、
これが3つあって、関連するクエリーやらをちょっとメンテ作業すると、これも動いてしまうものだから、
いちいちコメントアウト?(頭に ' 付けるヤツ)にして、このマクロを止めている。
これもっと上手いやり方ないかしら?
128デフォルトの名無しさん
2025/11/16(日) 08:47:46.14ID:Mx/pwiFm デバッグ用定数を定義しておいて、
そのデバッグ用定数の値が特定の値なら動かさない、とかにすれば、
メンテ中の変更が一カ所で済む、とかそういう話?
そのデバッグ用定数の値が特定の値なら動かさない、とかにすれば、
メンテ中の変更が一カ所で済む、とかそういう話?
129デフォルトの名無しさん
2025/11/16(日) 08:48:05.74ID:diBaXt68 よく分からんが、フラグ変数とかじゃダメなん?
130デフォルトの名無しさん
2025/11/16(日) 09:13:04.26ID:bRFFjOtJ どこかのセルをデバッグON/Offのフラグにする
131デフォルトの名無しさん
2025/11/16(日) 09:16:36.49ID:EzK8Q/Ny デバッグ定数を使うかApplication.EnableEventsを一時的にFalseにするか
ちなみにデバッグ定数はシート上に隠しておく形式にして例えばRange("A1").Value = Not Range("A1").ValueみたいなSubをイミディエイトから呼び出すのが個人的には楽
ちなみにデバッグ定数はシート上に隠しておく形式にして例えばRange("A1").Value = Not Range("A1").ValueみたいなSubをイミディエイトから呼び出すのが個人的には楽
132デフォルトの名無しさん
2025/11/16(日) 09:32:54.60ID:BUsW0orn >>128
うーん、クエリー弄っちゃうと修正途中なので
不用意に動いたVBAでデバッグ入って・・・
てのはあるんだけど。
そもそもの
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
を一時的に止める方法はないのかと。
やっぱ、ワークシート上のどっかのセルに「メンテ中」なら "1" でも入力して、これをフラグにして
3つのPrivate Subの中で if then で、1ならそのまま終わるか、Call 以下のマクロを実行するかの分岐処理?
先達らはもっときれいなことやっているのかと・・・
うーん、クエリー弄っちゃうと修正途中なので
不用意に動いたVBAでデバッグ入って・・・
てのはあるんだけど。
そもそもの
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
を一時的に止める方法はないのかと。
やっぱ、ワークシート上のどっかのセルに「メンテ中」なら "1" でも入力して、これをフラグにして
3つのPrivate Subの中で if then で、1ならそのまま終わるか、Call 以下のマクロを実行するかの分岐処理?
先達らはもっときれいなことやっているのかと・・・
133デフォルトの名無しさん
2025/11/16(日) 09:33:47.22ID:EzK8Q/Ny 分かるとは思うけど一応
Public Const IsDebug As Boolean = False '平時
'Public Const IsDebug As Boolean = True 'デバッグ時
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
If IsDebug Then Exit Sub
'ここに処理を記述
End Sub
みたいにするってことね
コメントアウトを楽にするならConstじゃなくて
Public Function IsDebug As Boolean
' IsDebug = True '平時はコメントアウトする
End Function
にするのもアリ
Public Const IsDebug As Boolean = False '平時
'Public Const IsDebug As Boolean = True 'デバッグ時
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
If IsDebug Then Exit Sub
'ここに処理を記述
End Sub
みたいにするってことね
コメントアウトを楽にするならConstじゃなくて
Public Function IsDebug As Boolean
' IsDebug = True '平時はコメントアウトする
End Function
にするのもアリ
134デフォルトの名無しさん
2025/11/16(日) 09:37:59.73ID:EzK8Q/Ny あ、ミスった
シートモジュールだけにまとめるならPublicなConstは使えないから、Const定義を標準モジュールに書くか、PrivateなConstにするかしてね
シートモジュールだけにまとめるならPublicなConstは使えないから、Const定義を標準モジュールに書くか、PrivateなConstにするかしてね
135デフォルトの名無しさん
2025/11/16(日) 09:39:00.23ID:BUsW0orn 言ってみれば、プロシージャのインターロック機構みたいな仕組みかな?
136デフォルトの名無しさん
2025/11/16(日) 09:41:42.45ID:BUsW0orn137デフォルトの名無しさん
2025/11/16(日) 09:41:49.72ID:EzK8Q/Ny そそ
ちなみにどのプロジェクトでもまず最初にこの機構を作る癖を付けておくといろいろ捗るよ
ちなみにどのプロジェクトでもまず最初にこの機構を作る癖を付けておくといろいろ捗るよ
138デフォルトの名無しさん
2025/11/16(日) 13:12:18.31ID:0LN83zrS 最近のyoutube動画観てると
MS Office が web アプリの Office と実質同じ
観たいな説明が多くてうんざりする
MS Office が web アプリの Office と実質同じ
観たいな説明が多くてうんざりする
139デフォルトの名無しさん
2025/11/16(日) 14:23:25.70ID:qgfY8rnj web アプリの Officeは知らん。
どんなの?
どんなの?
140デフォルトの名無しさん
2025/11/16(日) 14:37:50.55ID:WuYYEw3+ Excel for the webとかのことやろ
141デフォルトの名無しさん
2025/11/16(日) 16:08:17.79ID:pZ2suisg 可視化のために色とデータを
一気に出力させたら描写遅延が初回に絶対発生するわ
画面一瞬シェイクさせるのを追加したことで解消
システムを高評価されたのはいいけど他社まで展開されるとは思ってなかったから超強力に作り込んでる
一気に出力させたら描写遅延が初回に絶対発生するわ
画面一瞬シェイクさせるのを追加したことで解消
システムを高評価されたのはいいけど他社まで展開されるとは思ってなかったから超強力に作り込んでる
142デフォルトの名無しさん
2025/11/19(水) 12:39:22.87ID:T8xhcS/6 趣味程度でしかやってないからコーディングのマイルールが中々定まらん
そのせいでメンテナンスしたり新しいプロジェクトを作り始める度にああでもないこうでもないと試行錯誤する無駄な時間が…
ってことで質問なんだけど、みんなが心掛けてるマイルールってなんかある?
ちなみに自分の中で明確なのはWith構文は余程面倒な括りじゃない限り使わない、型指定はAs~より&や$などを優先的に使うとかかな?
例えば型指定の省略形は一般的にはあまりよろしくないことは分かってるけど、うちの環境ではどうせ俺しか触らないしコードがスッキリして好きだからそうしてる
こんな感じで「一般的にはよろしくないとされるルール」でも全然いいので色んなアイデアが欲しいです
そのせいでメンテナンスしたり新しいプロジェクトを作り始める度にああでもないこうでもないと試行錯誤する無駄な時間が…
ってことで質問なんだけど、みんなが心掛けてるマイルールってなんかある?
ちなみに自分の中で明確なのはWith構文は余程面倒な括りじゃない限り使わない、型指定はAs~より&や$などを優先的に使うとかかな?
例えば型指定の省略形は一般的にはあまりよろしくないことは分かってるけど、うちの環境ではどうせ俺しか触らないしコードがスッキリして好きだからそうしてる
こんな感じで「一般的にはよろしくないとされるルール」でも全然いいので色んなアイデアが欲しいです
143デフォルトの名無しさん
2025/11/19(水) 12:57:01.35ID:gC8HGDrL 最近はVBAを直接書くことはあまりなくてPytnonのxlwingsを使うことが多いんだけど、既定のプロパティを使わないとかかな。「VBA コーディング規則」とか「VBA コーディングガイドライン」で検索すると色々出てくるね。
144デフォルトの名無しさん
2025/11/19(水) 13:01:31.21ID:pFGIqcYh コメントは書かない(コメントがなくても理解しやすい命名やロジックにする)
145デフォルトの名無しさん
2025/11/19(水) 19:03:32.46ID:pYKM/3rA 入力チェックやファイル読み書き読み込み等の他で使えそうな処理は汎用化する。
データの入力、加工、出力は処理を分ける。
データの入力、加工、出力は処理を分ける。
146デフォルトの名無しさん
2025/11/19(水) 22:38:56.82ID:cV15jrOu >>142
改行とインデントはVBと同じにしてる
Visual Studioにコピペして自動整形されたやつをVBEに戻したりもしてる
変数名は気分次第だけど、英語の語彙力がないから全角文字も許容しないとすぐに詰む
コメントはできるだけ詳細に書く
改行とインデントはVBと同じにしてる
Visual Studioにコピペして自動整形されたやつをVBEに戻したりもしてる
変数名は気分次第だけど、英語の語彙力がないから全角文字も許容しないとすぐに詰む
コメントはできるだけ詳細に書く
147デフォルトの名無しさん
2025/11/20(木) 08:10:04.82ID:cGqMER0e 会社のVBAならドキュメントの場所をコメントに書いておく
148デフォルトの名無しさん
2025/11/20(木) 09:52:55.59ID:gRH2Ls2k >>144
そのルールだとwhyはどう記すの?
そのルールだとwhyはどう記すの?
149デフォルトの名無しさん
2025/11/20(木) 19:09:59.75ID:qnTj7J5a 生成AIで出てきたコードをそのまま使う
150デフォルトの名無しさん
2025/11/25(火) 10:36:05.24ID:0uCcBRN1 WordのVBAのスレはありますか?
151デフォルトの名無しさん
2025/11/25(火) 11:10:13.87ID:F0vSFTML 昔はあった気がする
そう言えば ActiveX のスレも消えてるな
そう言えば ActiveX のスレも消えてるな
152デフォルトの名無しさん
2025/11/25(火) 21:40:54.81ID:AgmnBjOLレスを投稿する
ニュース
- 中国、日本渡航に再警告 「侮辱や暴行で複数の負傷報告」★2 [ぐれ★]
- トランプ氏、日中の対立を懸念 首相に「エスカレート回避を」-日本政府関係者(共同) [蚤の市★]
- 高市早苗氏「“裏金問題”の調査をすると約束しましたが調査結果を公表するとは約束してません」 [バイト歴50年★]
- 【テレビ】玉川徹「これ天災じゃなくて人災でしょ。責任どうするんだ」 日本のホテル、中国人観光客からのキャンセルが相次ぐ [冬月記者★]
- 【台湾有事】トランプ氏 電話会談で高市総理に発言抑制を要求か 米メディア報道… ★11 [BFU★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」 [ぐれ★]
- 【実況】博衣こよりのえちえち4周年カウントダウン🧪★4
- 【高市悲報】中国、世界中に是非を問うwwwwwwwwwwwwwwwwwww [308389511]
- 【愛国者悲報】コメ価格、過去最高値更新wwwwwwwwwwwwwwwwwwwwww [856698234]
- まったり進行おじゃる丸ハウス🏡
- 【実況】博衣こよりのえちえち4周年カウントダウン🧪★5
- 中国政府、非常にしつこい。本日も改めて「高市が正式に答弁を撤回するまで決して受け入れない」と表明。 [271912485]
