!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part58
https://mevius.5ch.net/test/read.cgi/tech/1542577644/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part59
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d2a3-A3MQ)
2019/02/09(土) 15:12:30.70ID:3lTArmdf0483デフォルトの名無しさん (ワッチョイ 6a7c-RjxB)
2019/02/25(月) 22:06:28.97ID:U7AKD+aj0 フォームに張り付けたMediaPlayerプレイヤーのコントロールのプロパティが勝手に変わる謎のエラーが頻発。
どうもフォームのサイズを変更するAPIがイタズラしているらしい。
こまかく切っていってようやくまさかの原因が解ったが対処方法わからずに対処療法してしまったがそれでも半日あまりを費やした。
よくわからないサンプルコード使うと謎のエラーが出てハマることを覚えた。
プログラマーってすごいな、これ毎日やってたらほんと禿げるわ。
どうもフォームのサイズを変更するAPIがイタズラしているらしい。
こまかく切っていってようやくまさかの原因が解ったが対処方法わからずに対処療法してしまったがそれでも半日あまりを費やした。
よくわからないサンプルコード使うと謎のエラーが出てハマることを覚えた。
プログラマーってすごいな、これ毎日やってたらほんと禿げるわ。
484デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/25(月) 22:14:43.73ID:RXoXH9qp0 >>483
>よくわからないサンプルコード使うと謎のエラーが出てハマることを覚えた。
これやると一番時間を無駄にする
・サンプルコードをざっと眺めて全体の流れを把握
・APIの仕様をしっかり読む
・一からテストコードを書く
・APIもう一回読み直しながら、もう少し詳細に作り直し
・本番環境で書く
こんな感じ。仕様を把握してから書いたほうが絶対に早い
>よくわからないサンプルコード使うと謎のエラーが出てハマることを覚えた。
これやると一番時間を無駄にする
・サンプルコードをざっと眺めて全体の流れを把握
・APIの仕様をしっかり読む
・一からテストコードを書く
・APIもう一回読み直しながら、もう少し詳細に作り直し
・本番環境で書く
こんな感じ。仕様を把握してから書いたほうが絶対に早い
485デフォルトの名無しさん (ワッチョイ 8aa3-5+1H)
2019/02/25(月) 22:46:07.98ID:TP8zPbuZ0 >>448
オーバーロードってあったっけ?それに、ジェネリクスがないから全部の定義されてる型について生成しなきゃいけないから地獄なんだよ!リテラルで配列を生成できたらいちいちDimしなくてもいい
オーバーロードってあったっけ?それに、ジェネリクスがないから全部の定義されてる型について生成しなきゃいけないから地獄なんだよ!リテラルで配列を生成できたらいちいちDimしなくてもいい
486デフォルトの名無しさん (ワッチョイ 8aa3-5+1H)
2019/02/25(月) 22:51:30.74ID:TP8zPbuZ0 ちなみに、望むシグニチャーはこんな感じ
' T = Generic
Public Function ArrayOf(/* vararg */ element As T) As Array<T>
どうせVBAは浮世離れしすぎてて書けないけどな!
' T = Generic
Public Function ArrayOf(/* vararg */ element As T) As Array<T>
どうせVBAは浮世離れしすぎてて書けないけどな!
487デフォルトの名無しさん (ワッチョイ 6a2f-+yoR)
2019/02/25(月) 23:00:26.05ID:F8HPsJ9/0 ジェネリックはないがヴァリアント型つかえば良いのだよ
無いものねだりしてもしょうがない
問題解決のためにあるものを使うだけ
無いものねだりしてもしょうがない
問題解決のためにあるものを使うだけ
488デフォルトの名無しさん (ワッチョイ 7d83-viXF)
2019/02/26(火) 06:28:56.69ID:QryMFy3y0 >>429
これ。面白いな。試していないが、頭から見て行ってまずForが出て来るのにForがないって言われるの?w
VBAも構文を修正するのはいろいろと問題があるだろうけど、こういうペリフェラルな部分では改良できるところは
いくらでも残ってるよねえ
これ。面白いな。試していないが、頭から見て行ってまずForが出て来るのにForがないって言われるの?w
VBAも構文を修正するのはいろいろと問題があるだろうけど、こういうペリフェラルな部分では改良できるところは
いくらでも残ってるよねえ
489デフォルトの名無しさん (ワッチョイ 7d83-viXF)
2019/02/26(火) 06:39:06.54ID:QryMFy3y0 構文チェックくらいなら、どっかサードパーティが作ってアドオンとか出来ないのかな
xlsファイルの中からプログラム文ってテキスト抽出って出来ないんだっけ
xlsファイルの中からプログラム文ってテキスト抽出って出来ないんだっけ
490デフォルトの名無しさん (ドコグロ MM15-ZgJD)
2019/02/26(火) 06:56:12.34ID:Dl2cSn2NM >>488
If〜Thenでブロック作るからNext出て来たらForがないと見なされる
C言語とかはEnd IfとNextの両方が } なので発生しないけどイメージとしては
for(i = 0; i <= 10; i++)
if(true){
next
}
みたいな感じになってる
If〜Thenでブロック作るからNext出て来たらForがないと見なされる
C言語とかはEnd IfとNextの両方が } なので発生しないけどイメージとしては
for(i = 0; i <= 10; i++)
if(true){
next
}
みたいな感じになってる
491デフォルトの名無しさん (ドコグロ MM15-ZgJD)
2019/02/26(火) 07:22:50.54ID:Dl2cSn2NM492デフォルトの名無しさん (ブーイモ MMc9-0USI)
2019/02/26(火) 07:28:56.02ID:wxY2HVgtM493デフォルトの名無しさん (ワッチョイ 662c-pE6h)
2019/02/26(火) 12:32:40.78ID:5MxkS3P70 >>476-482
wget は簡易クローラーだから、これで複数ページをダウンロードすれば?
その後、vba で処理すれば?
まあ、適度に時間をおきながら、アクセスしなよ。
頻繁にアクセスすると、営業妨害で逮捕されるかも
wget は簡易クローラーだから、これで複数ページをダウンロードすれば?
その後、vba で処理すれば?
まあ、適度に時間をおきながら、アクセスしなよ。
頻繁にアクセスすると、営業妨害で逮捕されるかも
494デフォルトの名無しさん (アウアウウー Sa21-ofTD)
2019/02/26(火) 17:27:28.56ID:8+gQOZAja win10(64bit)にoffice2013(32)入れたら動作おかしくなったので
新しいoffice買ってきた
新しいoffice買ってきた
495デフォルトの名無しさん (アークセー Sxbd-SaAU)
2019/02/26(火) 21:19:16.14ID:bIfQynSTx bitsadmin.exeやPowerShellを使う手もあるな
496デフォルトの名無しさん (ワッチョイ 8aa3-5+1H)
2019/02/26(火) 21:29:55.31ID:7VOH1icT0 Variantか…型安全をぶち壊してる気がするけど…
497デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/26(火) 21:52:08.87ID:3hFiWozk0498デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/26(火) 21:57:39.80ID:tGZ/aMnha >>493
有料のRPAツールを使ってもダメなんでしょうか?
有料のRPAツールを使ってもダメなんでしょうか?
499デフォルトの名無しさん (ワッチョイ 6a2f-+yoR)
2019/02/26(火) 23:46:14.88ID:VNg9bOSA0 暗黙の型変換が拡大縮小の両方に効く時点で型安全なんてあり得ないわけで
500デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/27(水) 03:06:02.10ID:s/3R2a1B0 vbaで型安全ってなんのギャグだよ
Sub foo()
Dim bar As Long
bar = 1 & "0"
msgbox bar
End Sub
Sub foo()
Dim bar As Long
bar = 1 & "0"
msgbox bar
End Sub
501デフォルトの名無しさん (アークセー Sxbd-SaAU)
2019/02/27(水) 06:45:27.86ID:OKB4dgT5x >>500
これって 1 & "0" のところが 1 + 0 と評価されて出力が 1 になるのか?
これって 1 & "0" のところが 1 + 0 と評価されて出力が 1 になるのか?
502デフォルトの名無しさん (JP 0H2e-eSdf)
2019/02/27(水) 09:24:25.27ID:94mgNWr4H 数値を“”で括って連結させるって普通はやらないよな
もはやクレーマーの域
もはやクレーマーの域
503デフォルトの名無しさん (ワッチョイ 592b-nbQA)
2019/02/27(水) 09:27:38.25ID:ev0DPtJU0 >>501
ならない。
---------------------------
Microsoft Excel
---------------------------
10
---------------------------
OK
---------------------------
ならない。
---------------------------
Microsoft Excel
---------------------------
10
---------------------------
OK
---------------------------
504デフォルトの名無しさん (ワッチョイ a58e-19KH)
2019/02/27(水) 10:08:05.65ID:TCTVEEoa0 >>502
アホはお前
アホはお前
505デフォルトの名無しさん (JP 0H2e-eSdf)
2019/02/27(水) 10:14:24.05ID:94mgNWr4H >>504
自己紹介かな?
自己紹介かな?
506デフォルトの名無しさん (ワッチョイ a58e-19KH)
2019/02/27(水) 10:21:18.29ID:TCTVEEoa0507デフォルトの名無しさん (アウアウクー MM7d-0RHA)
2019/02/27(水) 10:48:04.11ID:hD6s3+cfM &演算子が勝手に文字列に変換するのは利便性考えたらわかるし
Long型の変数に文字列代入する時に暗黙のキャストするのもわからなくはない
けど警告ぐらいは出してほしいね
Long型の変数に文字列代入する時に暗黙のキャストするのもわからなくはない
けど警告ぐらいは出してほしいね
508デフォルトの名無しさん (JP 0H2e-eSdf)
2019/02/27(水) 10:48:12.18ID:94mgNWr4H >>506
それはエラーであってほしいというお前の願望だろ
それはエラーであってほしいというお前の願望だろ
509デフォルトの名無しさん (ワッチョイ 7d88-viXF)
2019/02/27(水) 11:32:27.96ID:WN1Wln/+0 VBAにも当然、厳密な構文ルールは存在するだろう
数字 & 文字列は文字列にするってのがルールじゃね。 一度覚えたらそれでいい
数字 & 文字列は文字列にするってのがルールじゃね。 一度覚えたらそれでいい
510デフォルトの名無しさん (ブーイモ MM0a-0USI)
2019/02/27(水) 11:45:10.68ID:K1qNq431M & が + に解釈されたらたまったもんじゃない
511デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/27(水) 12:38:47.93ID:JcvtiT+vd512デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/27(水) 12:41:38.23ID:JcvtiT+vd どんな言語でもツボは有るわけでね。
押さえてコードを書けない奴がアホなだけだろ。
初めて触った初心者じゃあるまいし警告なんて全く必要無い。
押さえてコードを書けない奴がアホなだけだろ。
初めて触った初心者じゃあるまいし警告なんて全く必要無い。
513デフォルトの名無しさん (スッップ Sd0a-19KH)
2019/02/27(水) 13:03:51.61ID:aJqXXkY2d >>509
代入先が数値だろ
代入先が数値だろ
514デフォルトの名無しさん (ワイモマー MM0a-uGSY)
2019/02/27(水) 13:08:23.01ID:OA+HeXxoM 同じマクロを使っている複数の文書があって、マクロの一部を修正したいんですが、
別ファイルのモジュール内の変更を行うマクロは VBA を使って書けますか?
または、別ファイルのモジュールを削除(開放)してインポートする形でも構いません。
実際はワードでやりたいことですがワードVBAスレがなさそうなのでこちらで質問しました。
Normal を書き換えて対応するというのはできない前提です。
別ファイルのモジュール内の変更を行うマクロは VBA を使って書けますか?
または、別ファイルのモジュールを削除(開放)してインポートする形でも構いません。
実際はワードでやりたいことですがワードVBAスレがなさそうなのでこちらで質問しました。
Normal を書き換えて対応するというのはできない前提です。
515デフォルトの名無しさん (スッップ Sd0a-19KH)
2019/02/27(水) 13:17:59.19ID:aJqXXkY2d >>514
スレ一覧よく見てみろ。そういういい加減で他人にすぐ聞くからできないことだらけなんだよ。
スレ一覧よく見てみろ。そういういい加減で他人にすぐ聞くからできないことだらけなんだよ。
516デフォルトの名無しさん (ブーイモ MM0a-0USI)
2019/02/27(水) 13:19:02.81ID:K1qNq431M ByRef x As Variant
517デフォルトの名無しさん (JP 0H2e-eSdf)
2019/02/27(水) 13:19:50.19ID:94mgNWr4H >>514
書けるよ
書けるよ
518デフォルトの名無しさん (ブーイモ MMc9-5UjA)
2019/02/27(水) 14:41:22.10ID:+oDGw9vfM >>503
Option Explicit付けてもエラーにならないのかな?
Option Explicit付けてもエラーにならないのかな?
519デフォルトの名無しさん (ワッチョイ 7d88-viXF)
2019/02/27(水) 15:47:12.82ID:WN1Wln/+0520デフォルトの名無しさん (ワッチョイ 7d88-viXF)
2019/02/27(水) 15:48:15.94ID:WN1Wln/+0 >それがVariantだから
すまん。これはなし
まあ変な構文ではある
すまん。これはなし
まあ変な構文ではある
521デフォルトの名無しさん (ブーイモ MM0a-0USI)
2019/02/27(水) 16:29:49.69ID:K1qNq431M522デフォルトの名無しさん (ドコグロ MM12-ZgJD)
2019/02/27(水) 17:58:08.46ID:HrTieKXOM >>507
& 演算子は文字列同士の連結だから
2 & 1 ⇒ "21"
"2" & 1 ⇒ "21"
2 & "1" ⇒ "21"
"2" & "1" ⇒ "21"
になる
逆に - 演算子は数値同士の引き算だから
2 - 1 ⇒ 1
"2" - 1 ⇒ 1
2 - "1" ⇒ 1
"2" & "1" ⇒ 1
になる
問題は + 演算子で普通は数値の足し算なんだけど両辺が文字列の時は文字列連結になるので
2 + 1 ⇒ 3
"2" + 1 ⇒ 3
2 + "1" ⇒ 3
"2" + "1" ⇒ "21"
になる
なのでVariant使っててA + Bとかやってると両方が文字列の時にはあ?ってなことになったりする
& 演算子は文字列同士の連結だから
2 & 1 ⇒ "21"
"2" & 1 ⇒ "21"
2 & "1" ⇒ "21"
"2" & "1" ⇒ "21"
になる
逆に - 演算子は数値同士の引き算だから
2 - 1 ⇒ 1
"2" - 1 ⇒ 1
2 - "1" ⇒ 1
"2" & "1" ⇒ 1
になる
問題は + 演算子で普通は数値の足し算なんだけど両辺が文字列の時は文字列連結になるので
2 + 1 ⇒ 3
"2" + 1 ⇒ 3
2 + "1" ⇒ 3
"2" + "1" ⇒ "21"
になる
なのでVariant使っててA + Bとかやってると両方が文字列の時にはあ?ってなことになったりする
523デフォルトの名無しさん (アウアウクー MM7d-0RHA)
2019/02/27(水) 18:25:55.24ID:hD6s3+cfM524デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/27(水) 18:25:56.15ID:U+okKr8Fa 出力する時以外に文字列と他の型を演算させる需要ってあるか?
すごい変なプログラム書いてそう
すごい変なプログラム書いてそう
525デフォルトの名無しさん (アウアウクー MM7d-0RHA)
2019/02/27(水) 18:31:15.76ID:hD6s3+cfM526デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/27(水) 18:45:49.28ID:U+okKr8Fa >>525
セルの値同士の計算をダイレクトにやろうとする発想にまず疑問を感じる
セルの値同士の計算をダイレクトにやろうとする発想にまず疑問を感じる
527デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/27(水) 18:48:38.08ID:JcvtiT+vd だから、型を意識してコード書かない奴は駄目なんだ。
あと、Cells(1,1) + Cells(1,2)じゃなくて、Cells(1,1).Value + Cells(1,2).Valueとすべき。
あと、Cells(1,1) + Cells(1,2)じゃなくて、Cells(1,1).Value + Cells(1,2).Valueとすべき。
528デフォルトの名無しさん (オイコラミネオ MMb5-W5xD)
2019/02/27(水) 18:53:54.71ID:sssEi30aM529デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/27(水) 19:19:30.96ID:s/3R2a1B0530デフォルトの名無しさん (ワッチョイ ea01-ZgJD)
2019/02/27(水) 19:31:13.45ID:zqU1UpTE0531デフォルトの名無しさん (ワッチョイ b602-PZ49)
2019/02/27(水) 19:35:36.50ID:kQabADAE0 本当によくできたプログラムっていうのは変数がどんどん減っていくものだよ
532デフォルトの名無しさん (ワッチョイ 11b0-0RHA)
2019/02/27(水) 19:49:19.80ID:J+jPuAvg0 やっぱVBAってクソだわ
533デフォルトの名無しさん (ワッチョイ 6a90-rusg)
2019/02/27(水) 19:52:19.85ID:Vhp/GCq70 >>532
と罵りたいだけが為にここに来るんだろ? プ
と罵りたいだけが為にここに来るんだろ? プ
534デフォルトの名無しさん (ワッチョイ 11b0-0RHA)
2019/02/27(水) 20:02:27.43ID:J+jPuAvg0 やっぱVBAスレってクソだわ
535デフォルトの名無しさん (ワッチョイ 89c5-T+SP)
2019/02/27(水) 20:17:03.40ID:INBREE+00 クソレスすんなプロさん
536デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/27(水) 21:22:24.52ID:rA0fzWNE0 >>531
デバッグはやりづらくなるけどな
デバッグはやりづらくなるけどな
537デフォルトの名無しさん (ワッチョイ 7d88-viXF)
2019/02/27(水) 21:48:46.20ID:WN1Wln/+0 まあやっぱり、1 & "0" とか "2" + 1
とかが出てきたら、エラーで落とすのが普通だろうなあ
で、プログラマはそこで、Val関数で数値にするとか逆に文字列にするとか
やっぱり型変換、確認をプログラムの中に入れながら作るのが本来の筋だと思うわ
そもそもの構文を変えないのであればね
とかが出てきたら、エラーで落とすのが普通だろうなあ
で、プログラマはそこで、Val関数で数値にするとか逆に文字列にするとか
やっぱり型変換、確認をプログラムの中に入れながら作るのが本来の筋だと思うわ
そもそもの構文を変えないのであればね
538デフォルトの名無しさん (アウアウエー Sa52-bAbS)
2019/02/27(水) 22:04:09.28ID:6/kMoeDHa どうでもいいよ
所詮VBAだし
所詮VBAだし
539デフォルトの名無しさん (ブーイモ MM0a-xRI1)
2019/02/27(水) 23:43:00.80ID:APPBNRQYM >>538
そういうこと
そういうこと
540デフォルトの名無しさん (ワッチョイ 1feb-IBRN)
2019/02/28(木) 00:41:55.86ID:ULaFt4eB0 質問です。お願いします。
public sub shuukei()
'集計してシートに書き出してそそのシートのコピーを別ファイルとして保存
end sub
↑
こういうコードを作りましたが、少しでも速く処理されるようにもっと工夫したいと思っています。
そこで、少し書き直しては速度に変化があるか確認したいのですが、コードの実行速度を
測る方法がわかりません。教えていただけないでしょうか?
public sub jikantest()
'計測スタート
call shuukei
'計測終り
msgbox かかった時間
end sub
↑
こんな感じでいちいち確認したいです。
public sub shuukei()
'集計してシートに書き出してそそのシートのコピーを別ファイルとして保存
end sub
↑
こういうコードを作りましたが、少しでも速く処理されるようにもっと工夫したいと思っています。
そこで、少し書き直しては速度に変化があるか確認したいのですが、コードの実行速度を
測る方法がわかりません。教えていただけないでしょうか?
public sub jikantest()
'計測スタート
call shuukei
'計測終り
msgbox かかった時間
end sub
↑
こんな感じでいちいち確認したいです。
541デフォルトの名無しさん (ワッチョイ ffdd-r++/)
2019/02/28(木) 00:46:39.13ID:3O1mZe4/0 >>540
dim st as single, ed as single
st = timer
(処理)
ed = timer
debug.print ed - st & "sec"
いつもこんな感じでやってる。
dim st as single, ed as single
st = timer
(処理)
ed = timer
debug.print ed - st & "sec"
いつもこんな感じでやってる。
542デフォルトの名無しさん (ワッチョイ 9f2f-8MIE)
2019/02/28(木) 00:47:31.02ID:CZa6uBrL0 Debug.Print Now でもしとけ
543デフォルトの名無しさん (ワッチョイ 1feb-IBRN)
2019/02/28(木) 00:51:18.30ID:ULaFt4eB0 >>541
ありがとうございました!
ありがとうございました!
544デフォルトの名無しさん (ワッチョイ 9f7c-sBsz)
2019/02/28(木) 01:23:05.26ID:8R6HTxA70 変数の型はトレースの時だけでもシンタックスハイライトして欲しい。
それか左辺に合うように強制キャストで。
それか左辺に合うように強制キャストで。
545デフォルトの名無しさん (ワッチョイ f7da-3oSp)
2019/02/28(木) 02:06:55.62ID:u4sOxAKE0 >>540
早くなってもわかりにくいのはやんない方がいいぞ
早くなってもわかりにくいのはやんない方がいいぞ
546デフォルトの名無しさん (ワッチョイ 1feb-IBRN)
2019/02/28(木) 06:51:30.57ID:ULaFt4eB0 お恥ずかしい質問ですが、もうひとつお願いします。
私は、変数の中身でもなんでも、とにかく確認したいときはmsgboxを使うんです。
そのほうが楽だし。
でも、こういう場所で回答するような人のほとんどは、>>541-542さんのように、
debug.なんとか ってのを使いますよね?
よくわからないけど、debugって、msgboxとは違って、どこかのウィンドウに表示させるってことだけ
は知っています。
そして、msgboxよりも、そっちの方がなんとなく本格派っぽいことも感じてます。
みなさん、どうしてmsgboxよりそっちを使うんですか?本当にそっちが便利なんですか?
私は、変数の中身でもなんでも、とにかく確認したいときはmsgboxを使うんです。
そのほうが楽だし。
でも、こういう場所で回答するような人のほとんどは、>>541-542さんのように、
debug.なんとか ってのを使いますよね?
よくわからないけど、debugって、msgboxとは違って、どこかのウィンドウに表示させるってことだけ
は知っています。
そして、msgboxよりも、そっちの方がなんとなく本格派っぽいことも感じてます。
みなさん、どうしてmsgboxよりそっちを使うんですか?本当にそっちが便利なんですか?
547デフォルトの名無しさん (ワッチョイ 9701-j5yB)
2019/02/28(木) 06:56:12.35ID:PI/gJuny0 >>546
msgboxだと毎回画面が出ちゃうから
msgboxだと毎回画面が出ちゃうから
548デフォルトの名無しさん (ワッチョイ d74f-nvQ/)
2019/02/28(木) 07:04:09.83ID:TTqJ1VR80 Debugって俺も使ったことないんだが、過去何行くらいまで遡れるの?
それとその結果ってファイルに出力できる?
それとその結果ってファイルに出力できる?
549デフォルトの名無しさん (ワッチョイ 9fa2-IBRN)
2019/02/28(木) 07:09:57.92ID:syDDbQ630 自分はstopとローカウルィンドウ派だな
550デフォルトの名無しさん (ワッチョイ ffdd-r++/)
2019/02/28(木) 07:10:06.15ID:3O1mZe4/0 >>546
OK押すのメンドいし、押したら消えるし。
Printならイミディエイトウィンドウにどんどん溜まっていくから比較しやすいし。
VBE上でCtrl+Gで呼び出せる。
コード書くときは常に表示してるな。
他にもいろいろ便利に使えるからGGってみて。
OK押すのメンドいし、押したら消えるし。
Printならイミディエイトウィンドウにどんどん溜まっていくから比較しやすいし。
VBE上でCtrl+Gで呼び出せる。
コード書くときは常に表示してるな。
他にもいろいろ便利に使えるからGGってみて。
551デフォルトの名無しさん (アウアウウー Sa9b-fNI3)
2019/02/28(木) 07:28:40.77ID:/X5EyKzha debug.printなら開発画面を見ない他の使用者が
気付かないで済む
気付かないで済む
552デフォルトの名無しさん (ドコグロ MM6b-dMaL)
2019/02/28(木) 08:31:53.34ID:3CdGs56rM >>540
ちょっと本格的にやるなら…
https://blogs.yahoo.co.jp/yangzh_jp/26557113.html
注意!
中にも書いてあるけど使用時にコードを改変するから使うならバックアップはちゃんと取ること
ちょっと本格的にやるなら…
https://blogs.yahoo.co.jp/yangzh_jp/26557113.html
注意!
中にも書いてあるけど使用時にコードを改変するから使うならバックアップはちゃんと取ること
553デフォルトの名無しさん (スップ Sd3f-IK5z)
2019/02/28(木) 12:28:10.25ID:wbPQJw42d554デフォルトの名無しさん (スップ Sd3f-IK5z)
2019/02/28(木) 12:32:41.06ID:wbPQJw42d555デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/02/28(木) 12:33:37.47ID:qWkUq+5ha >>553
まああくまで傾向だな
システム開発に絶対はないから大まかに語るしかない
しかしまあプログラマって柔軟性がないから何か意見を言ったら必ず特殊な状況を想定して反論しようとする人が出てきて面倒くさいな
まああくまで傾向だな
システム開発に絶対はないから大まかに語るしかない
しかしまあプログラマって柔軟性がないから何か意見を言ったら必ず特殊な状況を想定して反論しようとする人が出てきて面倒くさいな
556デフォルトの名無しさん (JP 0H4f-j5yB)
2019/02/28(木) 13:23:20.67ID:qor22oN3H 柔軟性がある人は出世するからね
557デフォルトの名無しさん (ブーイモ MMbf-0snV)
2019/02/28(木) 13:59:45.70ID:TjDXn6TQM558デフォルトの名無しさん (アウアウクー MM0b-VAd9)
2019/02/28(木) 14:20:36.03ID:x4ZPjfd7M 考慮すべき場面とするべきでない、しても意味がない場面の判断ができないとも言える
559デフォルトの名無しさん (JP 0H4f-j5yB)
2019/02/28(木) 14:36:57.48ID:qor22oN3H だから日本は開発が遅いんだよ
アジャイルでやれ
アジャイルでやれ
560デフォルトの名無しさん (ワッチョイ f7ce-uydA)
2019/02/28(木) 14:57:38.31ID:7AaSmpPf0 想定される状況なんか結局は本人にしか分からないし、説明すんのもめんどくさい
まあ本人が気付いてないこともあるけど
まあ本人が気付いてないこともあるけど
561デフォルトの名無しさん (ドコグロ MM6b-dMaL)
2019/02/28(木) 17:57:19.76ID:3CdGs56rM >>555
決めつけで語って指摘されたら逆ギレかよ w
決めつけで語って指摘されたら逆ギレかよ w
562デフォルトの名無しさん (ワッチョイ 9fa3-+f+8)
2019/02/28(木) 18:42:40.55ID:jqfgz8pY0 ーーここまで型変換関数なしーー
身内が意味がわかるっていうなら変換関数抜きにしてもいいかもしれない、けどコンテキスト的に関数噛ませたい
身内が意味がわかるっていうなら変換関数抜きにしてもいいかもしれない、けどコンテキスト的に関数噛ませたい
563デフォルトの名無しさん (アークセー Sx0b-Yt/p)
2019/02/28(木) 18:45:13.08ID:OctLDBwCx Debug.Assertも割とよく使う
564デフォルトの名無しさん (ワッチョイ f7ce-uydA)
2019/02/28(木) 21:21:18.29ID:7AaSmpPf0 Variant使わなきゃいい
565デフォルトの名無しさん (ブーイモ MM1b-9NtP)
2019/02/28(木) 22:12:12.40ID:TWIU4lxdM566デフォルトの名無しさん (アークセー Sx0b-Yt/p)
2019/02/28(木) 23:20:59.71ID:JVzuLoidx Variant型がないとそれはそれで不便
実行時にならないと変数の保持データの参照型やデータ構造が決定できないような関数を定義するときには必須
Object型では限界があるし、多態性とか考えたら特に
実行時にならないと変数の保持データの参照型やデータ構造が決定できないような関数を定義するときには必須
Object型では限界があるし、多態性とか考えたら特に
567デフォルトの名無しさん (アウアウエー Sadf-hSmr)
2019/03/01(金) 00:53:35.24ID:oijdm3qva VBAにもInterfaceがあるの知らない人かな
568デフォルトの名無しさん (スップ Sd3f-IK5z)
2019/03/01(金) 08:24:19.03ID:KSyELWIpd だから意識して使うぶんには良いんだよ。
Variant配列で高速化は良くやるだろ。
あるいはあえていろんな型を受け付ける関数を作る場合とか。
俺はInteraceはあまり使わんね。
同じプロパティを持ったクラスを複数作ってグループとして使う場合でもそこまでしなくて良いだろと考える。
Variant配列で高速化は良くやるだろ。
あるいはあえていろんな型を受け付ける関数を作る場合とか。
俺はInteraceはあまり使わんね。
同じプロパティを持ったクラスを複数作ってグループとして使う場合でもそこまでしなくて良いだろと考える。
569デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/03/01(金) 08:58:16.79ID:IB7Yh9y1a プログラムの基本的な良い習慣を実践すればVariantなんてそう使うことはない
使うとしてもシートIOなど僅かな用途だけだから業務ロジックまで影響することはまずない
使うとしてもシートIOなど僅かな用途だけだから業務ロジックまで影響することはまずない
570デフォルトの名無しさん (ワッチョイ 9f90-W5e4)
2019/03/01(金) 09:03:46.13ID:BWIoX5Sk0 プロ雑談者どものくだらん蘊蓄語り合いなんぞどうでも良いから質問者の方々は
遠慮なさらずにどうぞ〜
遠慮なさらずにどうぞ〜
571デフォルトの名無しさん (ブーイモ MM3b-sBsz)
2019/03/01(金) 12:55:03.48ID:3XNO5Z9qM コードって色々書く場所あると思うんですけど、ある程度共通の切り分けってあるんですか?
フォームにはあまりややこしいものはかかないで標準モジュールを使うとか。
逆にフォームで書けるものは複雑でもそこで終わらせたほうがいいとか。
今迷ってるのはシート1のデータを加工してシート2のデータにマージさせる場合どこに書けばいいんだろうってことです。
そのシートごとに別けるとバラけて解りにくくなるしみたいな感じです。
フォームにはあまりややこしいものはかかないで標準モジュールを使うとか。
逆にフォームで書けるものは複雑でもそこで終わらせたほうがいいとか。
今迷ってるのはシート1のデータを加工してシート2のデータにマージさせる場合どこに書けばいいんだろうってことです。
そのシートごとに別けるとバラけて解りにくくなるしみたいな感じです。
572デフォルトの名無しさん (ドコグロ MMdb-hSmr)
2019/03/01(金) 13:04:09.15ID:SCR8DJeBM 所詮VBAだしどうでもいいよ
VBAの可読性・保守性を高める唯一の指針があるとしたら、極力VBAを書かないでワークシートの機能を活用することかな
VBAの可読性・保守性を高める唯一の指針があるとしたら、極力VBAを書かないでワークシートの機能を活用することかな
573デフォルトの名無しさん (JP 0H4f-j5yB)
2019/03/01(金) 13:26:59.89ID:HgS5037SH >>571
標準モジュールに Sub MergeSheet1To2 とか作ってCallすれば、他人が処理部を見なくても「このボタンを押すとマージされるんだなぁ」と想像ができる。
自分はフォーム内は処理に使うデータのチェックくらいにしてる。
標準モジュールに Sub MergeSheet1To2 とか作ってCallすれば、他人が処理部を見なくても「このボタンを押すとマージされるんだなぁ」と想像ができる。
自分はフォーム内は処理に使うデータのチェックくらいにしてる。
574デフォルトの名無しさん (ワッチョイ 9f01-IBRN)
2019/03/01(金) 14:04:11.91ID:+h/xS+gL0 フォームモジュールって細々としたイベントのプロシージャであふれちゃって見にくい
だからできるだけ標準モジュールに切り分けてる
例えばフォーム上の複数のTextBoxに全く同じ入力規則を設けたい時なんかは
TextBox・KeyCode・Shiftを引数とするプロシージャを標準モジュールに書いて使い回ししてる
さっきもそういうの書いてた
だからできるだけ標準モジュールに切り分けてる
例えばフォーム上の複数のTextBoxに全く同じ入力規則を設けたい時なんかは
TextBox・KeyCode・Shiftを引数とするプロシージャを標準モジュールに書いて使い回ししてる
さっきもそういうの書いてた
575デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/03/01(金) 17:47:45.49ID:jYXMQwAma576デフォルトの名無しさん (スップ Sd3f-IK5z)
2019/03/01(金) 18:53:01.98ID:KSyELWIpd >>571
そのフォームで完結させたい時はフォームに全部書く。
汎用的なのは標準モジュール、汎用的でなくてもいろんな所から使い回す場合も標準モジュールだな。
シートモジュールにはシートのイベントプロシージャ以外書かないのが基本だけどそのシートのイベントプロシージャと一緒にしたい理由でシートモジュールに書くこともある。
意味論というか、何処に書くかは内容で決める。その方が後でコード見る時に視認性も良くなる。
そのフォームで完結させたい時はフォームに全部書く。
汎用的なのは標準モジュール、汎用的でなくてもいろんな所から使い回す場合も標準モジュールだな。
シートモジュールにはシートのイベントプロシージャ以外書かないのが基本だけどそのシートのイベントプロシージャと一緒にしたい理由でシートモジュールに書くこともある。
意味論というか、何処に書くかは内容で決める。その方が後でコード見る時に視認性も良くなる。
577デフォルトの名無しさん (アウアウウー Sa9b-fNI3)
2019/03/01(金) 20:10:20.22ID:9ceAGmrya 俺ならスコープで書く場所変えてる
578デフォルトの名無しさん (ワッチョイ d783-nvQ/)
2019/03/01(金) 20:18:09.30ID:S/p2I5Nx0 シート1だけでしか使わない関数はシート1
その関数の中で使う関数で他でも使う汎用関数は標準モジュール
シート1のデータを加工ってあるが、それが将来にでも他のシートでも使いそうならその加工関数は汎用化して
標準モジュール。 シート1でしか使わないのならその加工関数はシート1に書く
その関数の中で使う関数で他でも使う汎用関数は標準モジュール
シート1のデータを加工ってあるが、それが将来にでも他のシートでも使いそうならその加工関数は汎用化して
標準モジュール。 シート1でしか使わないのならその加工関数はシート1に書く
579デフォルトの名無しさん (ワッチョイ 9f7c-L+km)
2019/03/01(金) 21:39:17.32ID:41cCIQF20 上級者の人がどう使っているかなんとなく解ったような気がします。とりあえず
【クラスモジュール】汎用性のある関数
【標準モジュール】 大きな処理
【シートモジュール】【フォーム】極力使わないが他と絡まない短いコードなら完結しても良い
という感じで試してみようと思います。
あとは関数名の最後に呼び出しする関数がある場所を付けてみようと思います。
何をやりたいかで構成も変わると思うのでそこらへんも加味しながら試してみます。
参考になりました、ありがとうございます!
【クラスモジュール】汎用性のある関数
【標準モジュール】 大きな処理
【シートモジュール】【フォーム】極力使わないが他と絡まない短いコードなら完結しても良い
という感じで試してみようと思います。
あとは関数名の最後に呼び出しする関数がある場所を付けてみようと思います。
何をやりたいかで構成も変わると思うのでそこらへんも加味しながら試してみます。
参考になりました、ありがとうございます!
580デフォルトの名無しさん (アウアウクー MM0b-VAd9)
2019/03/01(金) 22:34:27.56ID:KieDV9lDM ここに上級者なんていないぞ
581デフォルトの名無しさん (ワッチョイ bf8c-9NtP)
2019/03/01(金) 22:48:58.94ID:eQhW3/JV0 >>579
関数名の最後になにを付けるって?
関数名の最後になにを付けるって?
582デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/03/01(金) 23:05:06.38ID:jYXMQwAma また一人、道に迷ってしまった
やっぱりVBAで勉強するのは非推奨ダナ
やっぱりVBAで勉強するのは非推奨ダナ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 押井守の映画「天使のたまご」が4Kリマスターされて上映されるみたいなんだけどこれ面白いの? [268718286]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
