!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part73
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
2021/09/13(月) 07:29:59.47ID:GNx0xRRz0252デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/01(金) 22:07:37.29ID:CXdVtwXkM253デフォルトの名無しさん (ワッチョイ cfda-2jfQ)
2021/10/01(金) 22:11:26.60ID:CmFZe7Ct0 質問者の環境や能力を無視すんなよ
254デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 22:24:35.99ID:4jCtmjal0 >>252
何をどう解釈したのか言ってくれれば対応できるけど、最早返答が意味不明過ぎるんだわ
何に対して「イベントに引数渡せる言語はいくらでもあるのに何を言ってるんだ?w」と疑問が沸いたのか説明して?
何をどう解釈したのか言ってくれれば対応できるけど、最早返答が意味不明過ぎるんだわ
何に対して「イベントに引数渡せる言語はいくらでもあるのに何を言ってるんだ?w」と疑問が沸いたのか説明して?
255デフォルトの名無しさん (ワッチョイ 8301-8myK)
2021/10/01(金) 22:34:31.13ID:4jCtmjal0 >>252
あと、VBAのクラスに「引数が付いたコンストラクタが欲しいな」っていう希望から
「Initializeに引数を持てるようにして欲しかった」っていう要望が出たのは明白だろう
で、イベントに引数を渡すのは面倒だよねって話をしたら「コンストラクタにすればいい」ってのもよくわからん。
だったらイベント関係なしに、初めから使いやすいコンストラクタ相当の言語機能が定義されてた方がいいだろう
あと、VBAのクラスに「引数が付いたコンストラクタが欲しいな」っていう希望から
「Initializeに引数を持てるようにして欲しかった」っていう要望が出たのは明白だろう
で、イベントに引数を渡すのは面倒だよねって話をしたら「コンストラクタにすればいい」ってのもよくわからん。
だったらイベント関係なしに、初めから使いやすいコンストラクタ相当の言語機能が定義されてた方がいいだろう
256デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/01(金) 22:55:44.73ID:f1R1MoFX0 一般のObject指向言語で言うところの継承が使えないとか色々あるから普通にデザインパターンを考慮して作ろうとするとそこそこ制限受けるよね。
例えば継承が使えないからテンプレートメソッドパターンが使えないとか、
VB.Netで言うSharedが使えないからキチンとシングルトンパターン使おうとすると結構厄介だったりとか。
インターフェースが使えるから継承の代わりにストラテジーパターンでも使って組もうとか考えても限界あるし。
あ?コンストラクタに引数?
そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
他のObject指向言語やってる人って結構インターフェースの概念を疎かにしたりするしね。
例えば継承が使えないからテンプレートメソッドパターンが使えないとか、
VB.Netで言うSharedが使えないからキチンとシングルトンパターン使おうとすると結構厄介だったりとか。
インターフェースが使えるから継承の代わりにストラテジーパターンでも使って組もうとか考えても限界あるし。
あ?コンストラクタに引数?
そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
他のObject指向言語やってる人って結構インターフェースの概念を疎かにしたりするしね。
257デフォルトの名無しさん (ワッチョイ b32f-/JM3)
2021/10/02(土) 02:59:35.03ID:xagjL2JO0 イベントに引数渡す(というか受け取る)のは別に面倒でもなんでないから
コンストラクタの引数をInitializeイベントに渡せたらまあそれもいいんだが
VBAだとInitializeイベントがオーバーロードできないからなぁ
まあもともとのVBがオブジェクト指向でもなんでもなかったとこからスタートしてるからな
俺はVBAのクラスは自作イベント使いたいときに使うものと思ってる
コンストラクタの引数をInitializeイベントに渡せたらまあそれもいいんだが
VBAだとInitializeイベントがオーバーロードできないからなぁ
まあもともとのVBがオブジェクト指向でもなんでもなかったとこからスタートしてるからな
俺はVBAのクラスは自作イベント使いたいときに使うものと思ってる
258デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 06:05:15.61ID:g1EUYVpxM259デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 06:08:02.24ID:g1EUYVpxM >>256
> あ?コンストラクタに引数?
> そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
> まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
そういうのは頭使うとは言わない
単に面倒(かつバグの元)なだけ
無い物ねだりすんなと言うならわかるけど
> あ?コンストラクタに引数?
> そんなのは初期化用のメソッド作って呼びゃいいだろうと俺は思うけどね。
> まあでもそういうのに頭使って組むからVBAは面白いんだと思うよ。
そういうのは頭使うとは言わない
単に面倒(かつバグの元)なだけ
無い物ねだりすんなと言うならわかるけど
260デフォルトの名無しさん (ワッチョイ b3e6-SE+q)
2021/10/02(土) 07:21:09.62ID:f83gGEH/0 VB7を待て!
261デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 07:44:35.99ID:PmOXqFk20262デフォルトの名無しさん (ワッチョイ 6f68-UmxQ)
2021/10/02(土) 07:49:32.43ID:i6pQYLUQ0 それ言い出すとどんな言語でも「だけ」になるぞ
263デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 07:52:52.17ID:PmOXqFk20 それにポリモーフィズムを理解している奴ならむしろバグやUTケースを減らせるコードが書ける。
でなければObject指向なんてここまで浸透しなかっただろうよ。
でなければObject指向なんてここまで浸透しなかっただろうよ。
264デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 07:53:44.67ID:PmOXqFk20 >>262
例えば?
例えば?
265デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 08:50:27.63ID:7sXji/t3M むしろ>>263の方に例えば?って言いたいわw
266デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 09:59:20.90ID:PmOXqFk20267デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 10:26:50.08ID:SSNRs28sM268デフォルトの名無しさん (ワッチョイ cf10-P/uO)
2021/10/02(土) 10:45:25.61ID:l9bGJwl90269デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 11:55:15.97ID:SSNRs28sM 勉強?
からかわれてることぐらいは理解した方がいいぞw
からかわれてることぐらいは理解した方がいいぞw
270デフォルトの名無しさん (ワッチョイ d3da-4VCj)
2021/10/02(土) 11:56:22.57ID:h3OHY9Ln0 まあまあ、通りがかりの者だけど、お前ら仲良くやれや
271デフォルトの名無しさん (ササクッテロラ Sp47-P/uO)
2021/10/02(土) 12:17:57.73ID:4Bm9Y75Jp まったく最近のじじいは
マウントどうのとかほざくくせに
負けず嫌いで困る
マウントどうのとかほざくくせに
負けず嫌いで困る
272デフォルトの名無しさん (ブーイモ MMe7-JsPX)
2021/10/02(土) 12:26:19.80ID:s0PycLWJM 5chはじじいの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
子供は他所で遊んだ方が良いですよ。
273デフォルトの名無しさん (ワッチョイ 6f68-UmxQ)
2021/10/02(土) 17:44:59.50ID:i6pQYLUQ0 >>264
クラスにコンストラクタがない
→newの後にメソッドなりで中身かえればいい「だけ」
それを言い出すとクラスそのものもなくてもどうにでもできるだろって話になる
そうじゃなくて、そんなめんどくさいことを「今更」したくないって話なんだ
それが苦にならないor自分で既にそれらを自動化するライブラリがある!ってなら問題ないと思うよ
君の言ってる事は間違いではない。単に感覚の違いだ
ただ、俺はやだなぁ
ついでに言うとarrayにpushはマジで欲しい
クラスにコンストラクタがない
→newの後にメソッドなりで中身かえればいい「だけ」
それを言い出すとクラスそのものもなくてもどうにでもできるだろって話になる
そうじゃなくて、そんなめんどくさいことを「今更」したくないって話なんだ
それが苦にならないor自分で既にそれらを自動化するライブラリがある!ってなら問題ないと思うよ
君の言ってる事は間違いではない。単に感覚の違いだ
ただ、俺はやだなぁ
ついでに言うとarrayにpushはマジで欲しい
274デフォルトの名無しさん (ワッチョイ cfb0-k9+P)
2021/10/02(土) 17:50:29.29ID:ffSwt3TR0 >>273
したくないのは自由だが、いまさらVBAが更新されることはないから、諦めて他の言語に行ってくれ
したくないのは自由だが、いまさらVBAが更新されることはないから、諦めて他の言語に行ってくれ
275デフォルトの名無しさん (ワッチョイ b32f-slNU)
2021/10/02(土) 18:23:04.84ID:xagjL2JO0 >>263
ちゃんとしたオブジェクト指向言語使えば減らせるってならともかく
VBAでオブジェクト指向でやってUTケース減らせると思えんが
ちょっとVBA関係ない話になるが
お前の思うポリモーフィズムと引数付きコンストラクタの使いどころ教えてくれ
ちゃんとしたオブジェクト指向言語使えば減らせるってならともかく
VBAでオブジェクト指向でやってUTケース減らせると思えんが
ちょっとVBA関係ない話になるが
お前の思うポリモーフィズムと引数付きコンストラクタの使いどころ教えてくれ
276デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 18:24:23.99ID:yfSowQXWM277デフォルトの名無しさん (ワッチョイ cfb0-k9+P)
2021/10/02(土) 18:35:12.83ID:ffSwt3TR0278デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/02(土) 19:02:41.91ID:/B20gKTEM ああ確かにそうだな
そりゃすまん
そりゃすまん
279デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 21:28:02.67ID:PmOXqFk20 >>275
そうだな、ちょっとその前に
例えば一つの例としてゲームを作ったとしよう。
それは簡単なシューティングゲームだったとして、
キャラクターの中に自機、弾、敵、ヒットマークがあったとする。
キャラクター数の上限は考えないものとし、敵は幾つか種類がいるものとして、ひとつは地形判定を行う、一つは弾を打つ、等の違いがあった場合、
君ならどう作るか聞いてもいいかな?
質問を質問で返すようなことするなと言っておいて悪いが最初に認識を合わせるために聞いておきたい。
そうだな、ちょっとその前に
例えば一つの例としてゲームを作ったとしよう。
それは簡単なシューティングゲームだったとして、
キャラクターの中に自機、弾、敵、ヒットマークがあったとする。
キャラクター数の上限は考えないものとし、敵は幾つか種類がいるものとして、ひとつは地形判定を行う、一つは弾を打つ、等の違いがあった場合、
君ならどう作るか聞いてもいいかな?
質問を質問で返すようなことするなと言っておいて悪いが最初に認識を合わせるために聞いておきたい。
280デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/02(土) 21:48:51.07ID:PmOXqFk20 >>273
そもそも論として、クラスを使わなければ何か出来ないことがあるかと言われれば、それはあまり思い付かない。
ただ、VBAでクラスのコンストラクタに引数を持ってないという程度であればそれで代用が効くだろうという話。
それも面倒だというのであれば、クラスを生成して初期化するメソッドを作ってそれに引数を持たせるようにして呼び出せばいくつそういう場所があっても一回書いておけばいいということになる。
そもそも論として、クラスを使わなければ何か出来ないことがあるかと言われれば、それはあまり思い付かない。
ただ、VBAでクラスのコンストラクタに引数を持ってないという程度であればそれで代用が効くだろうという話。
それも面倒だというのであれば、クラスを生成して初期化するメソッドを作ってそれに引数を持たせるようにして呼び出せばいくつそういう場所があっても一回書いておけばいいということになる。
281デフォルトの名無しさん (ワッチョイ b32f-slNU)
2021/10/03(日) 05:20:08.91ID:fyf/YlYy0 >>279
認識あわせの例がシューティングゲームとかその時点でお前とは合わんわ
シューティングゲームとか作らんし、その想定でどう作るとか言われてもな
まあ一から全部作ることはないし、何らかのフレームワークに従って作るんじゃね
そんな細かい実装的な話を聞きたいんじゃないんだよ
認識あわせの例がシューティングゲームとかその時点でお前とは合わんわ
シューティングゲームとか作らんし、その想定でどう作るとか言われてもな
まあ一から全部作ることはないし、何らかのフレームワークに従って作るんじゃね
そんな細かい実装的な話を聞きたいんじゃないんだよ
282デフォルトの名無しさん (ササクッテロ Sp47-P/uO)
2021/10/03(日) 07:39:28.72ID:8uofczFap283デフォルトの名無しさん (ワッチョイ 6f8c-GArm)
2021/10/03(日) 11:58:59.58ID:Lx3l1CXP0 ガンダムで例えてくれ
284デフォルトの名無しさん (ワッチョイ cfda-vizG)
2021/10/03(日) 12:18:23.19ID:PztuncMq0 坊やだからさ
285デフォルトの名無しさん (アウアウウー Sa27-jOtc)
2021/10/03(日) 12:51:23.55ID:oCTMWA/sa excel+vbaでマインスイーパーは造れますか?
どこかにソースありますか?
どこかにソースありますか?
286デフォルトの名無しさん (ブーイモ MMff-Ig7M)
2021/10/03(日) 12:54:45.72ID:cPfMe0TfM287デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/03(日) 13:18:38.78ID:PZL9KPgcM vba minesweeper code でググれ
288デフォルトの名無しさん (ワッチョイ e301-QRk2)
2021/10/03(日) 22:35:03.42ID:x8fdTISD0 教えて下さい
ガンチャート形式の日程表で
日付の色塗りだけじゃなくて
タスク表示(その日の予定)もさせたいんだけど
どう関数組んだらいい?
ガンチャート形式の日程表で
日付の色塗りだけじゃなくて
タスク表示(その日の予定)もさせたいんだけど
どう関数組んだらいい?
289デフォルトの名無しさん (ワッチョイ f35f-1D0T)
2021/10/03(日) 23:22:18.21ID:VDfIFkhd0 >>288
ガントチャート形式の日程表とやらの構成はどうなっている?
日付の色塗りとは、何を指している?
タスク表示とは、タスク名?をどこに表示させることを言っている?
このへん予め提示しないと解決が長引くよ
ガントチャート形式の日程表とやらの構成はどうなっている?
日付の色塗りとは、何を指している?
タスク表示とは、タスク名?をどこに表示させることを言っている?
このへん予め提示しないと解決が長引くよ
290デフォルトの名無しさん (ワッチョイ 435f-JGFc)
2021/10/04(月) 00:04:37.41ID:j9cfwAH/0 >>288
セルサイズを大きくしてタスクを入力すればいい
セルサイズを大きくしてタスクを入力すればいい
291デフォルトの名無しさん (ワッチョイ 6f8c-GArm)
2021/10/04(月) 01:17:19.95ID:BaE5qGe00 excel ガントチャート フリーで検索
292デフォルトの名無しさん (ワッチョイ 435f-P/uO)
2021/10/04(月) 09:25:56.63ID:dlhTdODc0 質問失礼します
タイマーで二つのマクロを順番に実行したいのですが
ひとつめのマクロ実行が長引いてしまい
マクロ実行中にApplication.OnTimeのcallで次のマクロが動くとエラーになってしまいます
Application.OnTimeの時間になっても前のマクロが終わるまで待つやぶつからなくする方法はあるでしょうか?
タイマーで二つのマクロを順番に実行したいのですが
ひとつめのマクロ実行が長引いてしまい
マクロ実行中にApplication.OnTimeのcallで次のマクロが動くとエラーになってしまいます
Application.OnTimeの時間になっても前のマクロが終わるまで待つやぶつからなくする方法はあるでしょうか?
293デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 09:37:56.41ID:X/RNGavO0294292 (ワッチョイ 435f-P/uO)
2021/10/04(月) 10:15:29.97ID:dlhTdODc0295デフォルトの名無しさん (ブーイモ MMe7-Ig7M)
2021/10/04(月) 10:57:06.41ID:JQlH+vDNM ontimeの第3引数も調べてね
296デフォルトの名無しさん (アウアウアー Saff-3pxB)
2021/10/04(月) 12:27:18.56ID:kyO84GtQa 関数に引数が七つも八つもあるとわかりにくくなるから、それならクラスにしておけば、可読性が良くなるのかな
297デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 12:54:51.17ID:X/RNGavO0 >>296
そうね。
ただVBAのクラスは1クラス1モジュール使ってしまうのと、クラスが格納されているフォルダが一階層しか使えないからネーミングに気を付けて後でそれがそういう意味を持つクラスだって分かるようにしておかないとね。
後、あれやこれやと引数のクラス作らなくても、引数として格納する変数が一意でいい場合は標準モジュールでも同じように作れば使えるよ。
ただしこの場合は引数として渡すんじゃなくてその標準モジュール側に作ったプロパティを直接読みに行くことになるけどね。まぁ使い分けだね。
そうね。
ただVBAのクラスは1クラス1モジュール使ってしまうのと、クラスが格納されているフォルダが一階層しか使えないからネーミングに気を付けて後でそれがそういう意味を持つクラスだって分かるようにしておかないとね。
後、あれやこれやと引数のクラス作らなくても、引数として格納する変数が一意でいい場合は標準モジュールでも同じように作れば使えるよ。
ただしこの場合は引数として渡すんじゃなくてその標準モジュール側に作ったプロパティを直接読みに行くことになるけどね。まぁ使い分けだね。
298デフォルトの名無しさん (ワッチョイ bf3d-kB/c)
2021/10/04(月) 13:39:00.82ID:1MgeDxIh0 マクロを実行させると、Excelが落ちてしまい、
ステップ実行させるとマクロが正常終了orExcelが落ちない
ていう事になってるんだが、
どこで異常終了してるか調べる方法ある?
ステップ実行させるとマクロが正常終了orExcelが落ちない
ていう事になってるんだが、
どこで異常終了してるか調べる方法ある?
299デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 13:41:09.43ID:X/RNGavO0300デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 13:54:27.50ID:X/RNGavO0 上記のやり方が大変だというのであれば
Logをどこかのtxtファイルにはく、という手もある。
Logをどこかのtxtファイルにはく、という手もある。
301デフォルトの名無しさん (ワッチョイ bf3d-kB/c)
2021/10/04(月) 14:13:00.80ID:1MgeDxIh0 >>299,300
ブレイクポイントを貼ると落ちない。
なんとなくやばい場所は分かってるんだけど、on errorでもcatchできないんだよな。
やってることは、 uiautomationを使ってコンボボックス叩く(Expand)てことやってるんだが、
おそらくその行で落ちるんだが、
落ちずに成功する場合もあるんだよな。
ブレイクポイントを貼ると落ちない。
なんとなくやばい場所は分かってるんだけど、on errorでもcatchできないんだよな。
やってることは、 uiautomationを使ってコンボボックス叩く(Expand)てことやってるんだが、
おそらくその行で落ちるんだが、
落ちずに成功する場合もあるんだよな。
302デフォルトの名無しさん (ワッチョイ cf68-2jfQ)
2021/10/04(月) 14:34:03.70ID:AbV0YbaI0 >>301
WinAPIで似たような事があった
本来待ち時間が必要な処理を待たずに次へ行くからブレイクポイント無しだと落ちるってケースね
怪しい所にSleep関数使って500ミリ秒待たせたら落ちなくなった事があるよ
WinAPIで似たような事があった
本来待ち時間が必要な処理を待たずに次へ行くからブレイクポイント無しだと落ちるってケースね
怪しい所にSleep関数使って500ミリ秒待たせたら落ちなくなった事があるよ
303デフォルトの名無しさん (ワッチョイ bf3d-kB/c)
2021/10/04(月) 15:02:49.67ID:1MgeDxIh0 298です。
いろいろ試してみると、マクロを実行じゃなくてステップインボタン押してF5で実行させると落ちない事がわかった。
ならば、待ち時間の問題かと思って、sleepとかDoEventsを入れてみても、落ちる。
今の所唯一の回避策がステップイン+F5だな。
ググるとステップインだとうまくいくていう記事は散見されるが、合理的な説明はない。
いろいろ試してみると、マクロを実行じゃなくてステップインボタン押してF5で実行させると落ちない事がわかった。
ならば、待ち時間の問題かと思って、sleepとかDoEventsを入れてみても、落ちる。
今の所唯一の回避策がステップイン+F5だな。
ググるとステップインだとうまくいくていう記事は散見されるが、合理的な説明はない。
304デフォルトの名無しさん (ブーイモ MMff-Ig7M)
2021/10/04(月) 15:29:55.92ID:NBSFfuMDM コンボボックスって表示したときにはテータは入ってなくて
クリックされたときにデータを読みに行くとかじゃなかったかな
クリックされたときにデータを読みに行くとかじゃなかったかな
305デフォルトの名無しさん (ワッチョイ cfda-2jfQ)
2021/10/04(月) 18:42:56.09ID:CJXp4LD30 タイマーの間隔が短すぎなんじゃね
306デフォルトの名無しさん (アウアウウー Sa27-1D0T)
2021/10/04(月) 19:42:11.08ID:2sXWsmVMa ワークブック開きすぎ(それも容量やシートが多すぎ)や、複数アプリケーション開きながらマクロ動かすと遅くなるからそういうところからも気をつけるといいかもしれない事例
307デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/04(月) 20:35:24.21ID:X/RNGavO0 >>303
当たりをつけるというフィジカルな部分ももちろん大事だけれど、本当に自分が当たりをつけたところが原因なのか切り分けを行った方がいいね。
その為にもどこで落ちているかを確定するのが一番先にやることだよね。やっぱりLogをtxtファイルか何かに出力するのが遠回りになるようで一番近道かもしれないよ。
箇所箇所で吐き出すロジック組み込んで、毎回書き込んでセーブしておけばどこで途切れたかで分かると思うからそれで絞り込んでどの命令で落ちたかを確定出来れば儲けもの。
もっとも、都度落ちる箇所が違う場合もあるかもだろうけど、そうなったらそうなったでそれから当たりをつけて調べればいいのであって、まず落ちている箇所が特定出来れば原因もある程度絞れるよね。
当たりをつけるというフィジカルな部分ももちろん大事だけれど、本当に自分が当たりをつけたところが原因なのか切り分けを行った方がいいね。
その為にもどこで落ちているかを確定するのが一番先にやることだよね。やっぱりLogをtxtファイルか何かに出力するのが遠回りになるようで一番近道かもしれないよ。
箇所箇所で吐き出すロジック組み込んで、毎回書き込んでセーブしておけばどこで途切れたかで分かると思うからそれで絞り込んでどの命令で落ちたかを確定出来れば儲けもの。
もっとも、都度落ちる箇所が違う場合もあるかもだろうけど、そうなったらそうなったでそれから当たりをつけて調べればいいのであって、まず落ちている箇所が特定出来れば原因もある程度絞れるよね。
308デフォルトの名無しさん (ドコグロ MMa7-E/uf)
2021/10/04(月) 20:43:05.82ID:TWw1hYLnM >>296
たいていはユーザー定義型で十分
たいていはユーザー定義型で十分
309デフォルトの名無しさん (ワッチョイ 3349-rn75)
2021/10/04(月) 22:16:21.62ID:YLhov1R00 For i = 1 to 10
Call Sleep(200)
DoEvents
Next i
Call Sleep(200)
DoEvents
Next i
310デフォルトの名無しさん (ワッチョイ e38e-6V0L)
2021/10/05(火) 00:51:53.00ID:AqVIusQn0 >>296
お前の知能が足りなくてアウアウしてるだけだろ
お前の知能が足りなくてアウアウしてるだけだろ
311デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 15:40:04.36ID:dJ3N05Swa ちょっと教えてください
コントロール上にマルチページ「Multipage1」があるとき、下を実行するとエラーが出るんですが、何故か分からんのです
Private Sub UserForm_Initialize()
Dim buf As String
buf = "D3"
Set MP = MultiPage1
MP.Pages.Add
MP.Pages("Page3").Name = buf
MP.Pages(buf).Name = "X3" ←ここ。「13:型が一致しません」
End Sub
コントロール上にマルチページ「Multipage1」があるとき、下を実行するとエラーが出るんですが、何故か分からんのです
Private Sub UserForm_Initialize()
Dim buf As String
buf = "D3"
Set MP = MultiPage1
MP.Pages.Add
MP.Pages("Page3").Name = buf
MP.Pages(buf).Name = "X3" ←ここ。「13:型が一致しません」
End Sub
312デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 15:45:39.37ID:dJ3N05Swa 補足ながら>>311はMPもマルチページとして宣言するか該当箇所をMP.Pages("D3").Name = "X3"に書き換えれば期待通り動くんですよね
どういう仕組みなのか
どういう仕組みなのか
313デフォルトの名無しさん (オッペケ Sr47-Ug22)
2021/10/05(火) 15:56:25.07ID:hS5WuwV9r worksheetfunctionの引数に配列入れるときって数に上限があるな
警告も出さないしほんまクソ
警告も出さないしほんまクソ
314デフォルトの名無しさん (オッペケ Sr47-PY+R)
2021/10/05(火) 15:56:31.46ID:hS5WuwV9r worksheetfunctionの引数に配列入れるときって数に上限があるな
警告も出さないしほんまクソ
警告も出さないしほんまクソ
315デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:15:51.73ID:2oqKIsmm0316デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:19:44.73ID:2oqKIsmm0 あ、でもこっちはOption Explicit 付けてたから
MPはキチンと型宣言してたな。
でもそこはあまり関係ないよね?
MPはキチンと型宣言してたな。
でもそこはあまり関係ないよね?
317デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 16:21:29.24ID:dJ3N05Swa318デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:29:34.84ID:2oqKIsmm0319デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 16:32:02.05ID:dJ3N05Swa variant/object/multipageでした
320デフォルトの名無しさん (ワッチョイ ff4f-P/uO)
2021/10/05(火) 16:36:45.31ID:2oqKIsmm0321デフォルトの名無しさん (アウアウキー Sa87-Kp1k)
2021/10/05(火) 16:39:04.47ID:dJ3N05Swa そうですね、とりあえず急ぎとか困りではないので一旦これで…
ご回答ありがとうございました
ご回答ありがとうございました
322デフォルトの名無しさん (ブーイモ MM1f-Ig7M)
2021/10/05(火) 18:26:27.16ID:jAVyPZWcM 型推論するのに失敗してるんじゃね
323デフォルトの名無しさん (ワッチョイ b32f-slNU)
2021/10/05(火) 21:37:47.06ID:LdUtAYwX0 Pagesの引数に変数渡すと数字として解釈しようとしてるっぽいな
buf = "2" とかにするとIndex=2のページを参照してるようだ
文字列リテラルならちゃんと名称として解釈してるっぽい
ちな365の64ビット
これ以上はサポートにでも問い合わせるしかねぇんじゃね
buf = "2" とかにするとIndex=2のページを参照してるようだ
文字列リテラルならちゃんと名称として解釈してるっぽい
ちな365の64ビット
これ以上はサポートにでも問い合わせるしかねぇんじゃね
324デフォルトの名無しさん (アウアウウー Sa27-4HLA)
2021/10/07(木) 18:28:58.89ID:p9itA/YXa マクロの記録機能使ってマクロの作成したいんだがピボットテーブルのプルダウンから任意の値だけを抜き出すのってどうやってやればいいの?
毎回モジュール見直すとvisible farceになってて要するに抜き出したいもの以外を表示しないようにしてる構文て事だよね?
こうなると仮に次回このマクロを使う時にvisible farceになってない値が新しく出てくるとそれも表示されちゃうって事だよね?
じゃなくていくら値が増えても決められた値だけを抜き出すように作りたいんだ
どなたか教えて下さい
毎回モジュール見直すとvisible farceになってて要するに抜き出したいもの以外を表示しないようにしてる構文て事だよね?
こうなると仮に次回このマクロを使う時にvisible farceになってない値が新しく出てくるとそれも表示されちゃうって事だよね?
じゃなくていくら値が増えても決められた値だけを抜き出すように作りたいんだ
どなたか教えて下さい
325デフォルトの名無しさん (ワッチョイ c310-eIP4)
2021/10/07(木) 20:11:24.24ID:70iiidwq0 >>324
記録してみてどうなってるか見てみれば分かるじゃん
記録してみてどうなってるか見てみれば分かるじゃん
326デフォルトの名無しさん (ワッチョイ f35f-1D0T)
2021/10/07(木) 21:05:39.19ID:D5dO/oMJ0327デフォルトの名無しさん (ワッチョイ 435f-nDZW)
2021/10/07(木) 21:29:48.70ID:AykPZAFh0 ActiveSheet.PivotTables("ぴぼっとてーぶる").PivotFields("ふぃーるど").ClearAllFilters
ActiveSheet.PivotTables("ぴぼっとてーぶる").PivotFields("ふぃーるど").PivotFilters.Add Type:=xlCaptionEquals, Value1:="表示したいもの"
ActiveSheet.PivotTables("ぴぼっとてーぶる").PivotFields("ふぃーるど").PivotFilters.Add Type:=xlCaptionEquals, Value1:="表示したいもの"
328デフォルトの名無しさん (ワッチョイ e301-RzFA)
2021/10/07(木) 23:55:42.12ID:P9pCLiyt0 VBAで最適化したら仕事増やされた話ってよく聞くけど
そいつが辞めたらそいつに回されてた膨大な仕事はどうなるん
そいつが辞めたらそいつに回されてた膨大な仕事はどうなるん
329デフォルトの名無しさん (アウアウキー Sacb-h0Ad)
2021/10/08(金) 00:17:45.54ID:sJT5Ti/qa うちの職場は適当にvbaでつくったやつをちゃんとしたアプリに置き換えてるよ
330デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/08(金) 00:31:33.80ID:GXvDbP/z0 アプリだろうがvbaだろうが作った人間がやめたらメンテできなくて終わるんじゃないの
開発者が大勢いるようなレアな職場ならともかく
vba使ってるところなんてたいてい事務で
エクセル職人が少数いるだけだろ
開発者が大勢いるようなレアな職場ならともかく
vba使ってるところなんてたいてい事務で
エクセル職人が少数いるだけだろ
331デフォルトの名無しさん (テテンテンテン MM86-Rkqs)
2021/10/08(金) 00:37:30.31ID:d3eTt0zpM 実際にはそういうときには業務そのものが消滅するケースも多いよ
そもそもVBAで簡単に自動化できるような業務はもともと無意味であるものが多いからな
そもそもVBAで簡単に自動化できるような業務はもともと無意味であるものが多いからな
332デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/08(金) 02:32:08.41ID:KEaimES90 人がやめた後に職場がどうなるかはその職場の責任者が決めるんじゃね
下っ端が気にすることじゃない
下っ端が気にすることじゃない
333デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/08(金) 04:11:36.40ID:vcejz6/Ud 市販アプリでも、天才的な開発者が辞めて、会社もろともアプリもダメになって終わったパターンをいくつも見てきた
334デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/08(金) 07:11:46.26ID:GXvDbP/z0335デフォルトの名無しさん (アウアウウー Sa2f-YkK2)
2021/10/08(金) 08:09:49.53ID:Am1Ugnvua336デフォルトの名無しさん (ワッチョイ 8a05-GJBa)
2021/10/08(金) 09:40:27.58ID:JQJjKarL0 CPU使用率が大きかったのでダメもとで開いて修復を実行したら
かなり軽くなるのな、知らんかった
これ定期的にやったほうがいいのか?
VBAのコードを一旦退避させるのが面倒だが...
かなり軽くなるのな、知らんかった
これ定期的にやったほうがいいのか?
VBAのコードを一旦退避させるのが面倒だが...
337デフォルトの名無しさん (ワッチョイ 5f2f-GJBa)
2021/10/08(金) 17:00:42.44ID:EVmjGNOc0 >>336
詳しく
詳しく
338デフォルトの名無しさん (ワッチョイ de10-J+i2)
2021/10/08(金) 22:11:41.59ID:x7uCSItJ0 属人的にならない仕組みで効率化できればいいんだが、頭の中が古き良きな方々が幅を利かせる日本ではなかなか難しい
339デフォルトの名無しさん (ワッチョイ b301-A6QN)
2021/10/09(土) 01:49:50.17ID:98oBjVW70 自分が初めてVBAを使って解決した時点で、他にVBAを使う人がいないんだから属人化しないわけがないと思うけどな
しかもVBAってプログラミング言語の中では非常に初心者向けなわけで、
誰もVBAで組めない=プログラミングに全員疎いのはほぼ決定なんだから尚更さ
VBAを共通知識にしたいっていうのは、
最初にプログラミングっていう一般的には取っ付き難い物に興味を持たせるっていう途轍もなく大きなハードルを超える必要があって、
それは「興味がある生徒に教える」プログラミング講師以上に難しいと思う
相当な根気が必要だと思うよ
しかもVBAってプログラミング言語の中では非常に初心者向けなわけで、
誰もVBAで組めない=プログラミングに全員疎いのはほぼ決定なんだから尚更さ
VBAを共通知識にしたいっていうのは、
最初にプログラミングっていう一般的には取っ付き難い物に興味を持たせるっていう途轍もなく大きなハードルを超える必要があって、
それは「興味がある生徒に教える」プログラミング講師以上に難しいと思う
相当な根気が必要だと思うよ
340デフォルトの名無しさん (ワッチョイ 5f2f-GJBa)
2021/10/09(土) 02:16:01.12ID:2HXwYm4Z0 そもそも人に仕事が割り振られた段階で属人化されてるわけで
たんに次の人が困って終わりだよ
たんに次の人が困って終わりだよ
341デフォルトの名無しさん (ワッチョイ b301-A6QN)
2021/10/09(土) 02:30:43.66ID:98oBjVW70 確かに。
レス漁ってみたが、
ここでいう「属人化で困る」は「他の人にはできないVBAというテクニックを持つオレスゲー」を単にオブラートに包んだだけっぽい感じがするな
レス漁ってみたが、
ここでいう「属人化で困る」は「他の人にはできないVBAというテクニックを持つオレスゲー」を単にオブラートに包んだだけっぽい感じがするな
342デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 02:49:32.47ID:0Qsp0NFP0 マクロの効率化ガン無視で社員の手が開いた分だけ仕事を割り振る上司がいるらしいけど
その時点である意味属人化してるよね
その仕事引き継ぐやつ
まずさばき切れないだろ
その時点である意味属人化してるよね
その仕事引き継ぐやつ
まずさばき切れないだろ
343デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/09(土) 04:49:21.33ID:UCXjyRPA0 うちの職場ではほとんどの人がマクロできるけど、新人に自信持たせるためにわざわざ気を使って
「君マクロできるなんて凄いね〜」っておだててるのに同調するのが正直めんどくさい
「君マクロできるなんて凄いね〜」っておだててるのに同調するのが正直めんどくさい
344デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 04:50:24.64ID:0Qsp0NFP0 そういうとこは給料高そうで羨ましい
345デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/09(土) 05:01:41.26ID:UCXjyRPA0 >>344
給料は個人の能力に比例します
給料は個人の能力に比例します
346デフォルトの名無しさん (スプッッ Sd02-JSxF)
2021/10/09(土) 08:10:48.77ID:KDe6uexsd 新人の育成は面倒だけど将来的に必要なことだからなあ
褒めた方が上達が早いってのも科学的に証明されつつあるし、そういうもんだからあきらめろ
褒めた方が上達が早いってのも科学的に証明されつつあるし、そういうもんだからあきらめろ
347デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:19:40.75ID:0Qsp0NFP0 全員VBAできるとか絶対給料高いとこだろ
うちのところなんて一人しかいないよ
しかも残りは関数すらまともにあつない
うちのところなんて一人しかいないよ
しかも残りは関数すらまともにあつない
348デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:21:07.29ID:0Qsp0NFP0 おかげで効率がすげー悪い
基本は専用ソフト扱うからエクセルは必須ではないとはいえ
それでもエクセルやVBAやれるのとやれないのとでは効率が雲泥の差
基本は専用ソフト扱うからエクセルは必須ではないとはいえ
それでもエクセルやVBAやれるのとやれないのとでは効率が雲泥の差
349デフォルトの名無しさん (ラクッペペ MM86-65Sl)
2021/10/09(土) 08:31:06.39ID:HlWFX8NcM 選民思想ここに極まれり
350デフォルトの名無しさん (ワッチョイ 1bda-JSxF)
2021/10/09(土) 08:33:14.89ID:qDyUb0P50 研修とか外部の自宅学習プログラムでもやったら?
費用は会社持ち、報奨金も少しは付けて
費用は会社持ち、報奨金も少しは付けて
351デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 08:37:41.66ID:0Qsp0NFP0 そんな金あったら給料上げてレベルの高い人材雇うか
もうちょっとマシな専用ソフト使ってる
金をケチったせいでオンボロ専用ソフト使わせれて
専用ソフトじゃフォローしきれないのでエクセル活用しないと行けない羽目になってる
もうちょっとマシな専用ソフト使ってる
金をケチったせいでオンボロ専用ソフト使わせれて
専用ソフトじゃフォローしきれないのでエクセル活用しないと行けない羽目になってる
■ このスレッドは過去ログ倉庫に格納されています
