!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:3lTArmdf0430デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/23(土) 09:20:01.07ID:CvvsLWYy0 エラーってコードのエラーのことか
実行時のことかと思った
実行時のことかと思った
431デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/23(土) 09:21:13.09ID:Cm202fZQ0 あぁ、実行時エラーの可能性もあるか
あれはactiveにしてないsheetのcellをselectした時はハマったけどそれ以外は特に・・・
あれはactiveにしてないsheetのcellをselectした時はハマったけどそれ以外は特に・・・
432デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/23(土) 09:21:56.77ID:CvvsLWYy0 唯一(?)の短絡評価である Select Case のリストはクソだと思いながらたまに使う
433デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/23(土) 10:29:43.91ID:AFk0uxx90 短絡評価ってなんですか?
434デフォルトの名無しさん (アウアウエー Sa52-bAbS)
2019/02/23(土) 10:35:04.36ID:sW0ZRaO0a >>433
お前がGoogleの採用選考を受けても学歴で足切りされて職務経歴の中身すら見てもらえないだろ?
結果が決まってるのに余計な評価をするのはリソースの無駄だからだ
そのように、評価が確定した時点で残りの評価を省いて結果を出す戦略を短絡評価という
お前がGoogleの採用選考を受けても学歴で足切りされて職務経歴の中身すら見てもらえないだろ?
結果が決まってるのに余計な評価をするのはリソースの無駄だからだ
そのように、評価が確定した時点で残りの評価を省いて結果を出す戦略を短絡評価という
435デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/23(土) 10:49:47.77ID:CvvsLWYy0 >>434
GoogleはOr評価かもしれないよ
GoogleはOr評価かもしれないよ
436デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/23(土) 11:44:31.84ID:AFk0uxx90437デフォルトの名無しさん (ドコグロ MM12-bAbS)
2019/02/23(土) 12:14:20.39ID:yEreZVJRM438デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/23(土) 13:07:59.71ID:AFk0uxx90439デフォルトの名無しさん (ドコグロ MM12-bAbS)
2019/02/23(土) 15:21:22.50ID:yEreZVJRM440デフォルトの名無しさん (ワッチョイ ea01-ZgJD)
2019/02/23(土) 16:24:43.18ID:UPmGtBeI0 >>438
たかが30秒と言う奴は10,000件あったら何時間かかるかを考えてからレスしろ
たかが30秒と言う奴は10,000件あったら何時間かかるかを考えてからレスしろ
441デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/23(土) 18:43:00.90ID:AFk0uxx90 Googleはそもそも学位が必要ない時点でお前らズレてんだよ
442デフォルトの名無しさん (ワッチョイ c55f-65GJ)
2019/02/23(土) 19:03:21.30ID:FI/m1MnA0 うんむ
443デフォルトの名無しさん (ワッチョイ 39da-dS/9)
2019/02/23(土) 19:33:38.12ID:to9UN42C0 ただの例にここまで突っ込むか?
444デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/23(土) 20:37:03.99ID:CvvsLWYy0 短絡評価の例としてはわかりやすかった
445デフォルトの名無しさん (ワッチョイ 8aa3-5+1H)
2019/02/23(土) 22:13:21.58ID:CTQXI+x50 配列をインラインで生成する方法でもあればいいのに
446デフォルトの名無しさん (ワッチョイ b501-W5xD)
2019/02/23(土) 23:20:45.04ID:E54ZDPfM0447デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/24(日) 04:42:51.56ID:ZjoVn9Sx0 goto使うと負けた気分になるけどネスト深くなるくらいなら使う
448デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/24(日) 10:14:59.06ID:PMakJCH00 >>445
そういう関数を作れば解決する話では?
そういう関数を作れば解決する話では?
449デフォルトの名無しさん (ワッチョイ f1ce-ZT00)
2019/02/24(日) 11:16:37.13ID:x1+EfWpB0 昔から言われてるけどGoToとかExitみたいな無条件ジャンプはできるだけ使うべきじゃない
ループから抜ける条件が複数ある時は、条件判定部分を関数にして外に出せばたいがい解決する
ループから抜ける条件が複数ある時は、条件判定部分を関数にして外に出せばたいがい解決する
450デフォルトの名無しさん (ワッチョイ 5d04-viXF)
2019/02/24(日) 11:20:53.15ID:UtSvB3y70 >>449
3重構造のFor文とかって、いちいち全部のFor文に条件を書くんか?
3重構造のFor文とかって、いちいち全部のFor文に条件を書くんか?
451デフォルトの名無しさん (ドコグロ MM15-bAbS)
2019/02/24(日) 11:27:07.38ID:cR8EPyISM 下向き限定なら許す
バカみたいな脱出フラグ使われるよりよっぽどマシ
上向きgotoは死ね
バカみたいな脱出フラグ使われるよりよっぽどマシ
上向きgotoは死ね
452デフォルトの名無しさん (ワッチョイ 5d04-viXF)
2019/02/24(日) 11:31:30.55ID:UtSvB3y70453デフォルトの名無しさん (ワッチョイ 5d04-viXF)
2019/02/24(日) 11:34:47.34ID:UtSvB3y70 Forの3重構造の場合、例えば、i, j, kで回したとき、一番中の処理で、
i=10000
j=10000
k=10000
とか設定したら、全部抜けるという技は使ったことはあるが、Next k の次に処理があってNext jとかってなってるときは
やはりgoto を使うので、結局こういう技は使わなくなった
i=10000
j=10000
k=10000
とか設定したら、全部抜けるという技は使ったことはあるが、Next k の次に処理があってNext jとかってなってるときは
やはりgoto を使うので、結局こういう技は使わなくなった
454デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/24(日) 12:03:06.64ID:laz54YR/0455デフォルトの名無しさん (アークセー Sxbd-SaAU)
2019/02/24(日) 14:56:48.98ID:eghZe4V2x Case (i) ⊇ Case (j) ⊇ Case (k)....っていう感じの線形の包含関係が無条件に成り立たない限り、3次元以上のループ管理はややこしくなるだけだよな
456デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/24(日) 15:43:11.74ID:Jr9LmcmNd457デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/24(日) 15:50:41.15ID:Jr9LmcmNd 三重のル―プで条件によって全部から抜けるって処理自体あんまり無いだろ。
設計が悪いんじゃないの?
設計が悪いんじゃないの?
458デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/24(日) 16:01:32.16ID:laz54YR/0459デフォルトの名無しさん (ワッチョイ c594-uPuZ)
2019/02/24(日) 16:43:43.47ID:EsuDtWv80 エラーがわかりにくいという話に
エラーを出すおまえが悪いとマウント取りに行くプロ回答者
マウントがとりたくてやってるのか本当にただのバカなのかどっちなんだろ
エラーを出すおまえが悪いとマウント取りに行くプロ回答者
マウントがとりたくてやってるのか本当にただのバカなのかどっちなんだろ
460デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/24(日) 17:14:34.21ID:PMakJCH00 まあでも多重ループから一気に抜ける方法がExit Function/Sub しかないんだから
ループを含む部分をサブルーチンとして切り出す以外あるまいよ
ループを含む部分をサブルーチンとして切り出す以外あるまいよ
461デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/24(日) 17:42:50.42ID:RNHs4bDba ループを回す以上はループを回す理由があるはず
その理由をわかりやすい関数名にしてループを切り出す
途中で抜けたければExitする
その理由をわかりやすい関数名にしてループを切り出す
途中で抜けたければExitする
462731 (ワッチョイ 11e6-Vd0N)
2019/02/24(日) 17:45:18.70ID:DRTFUInr0 いや、doとfor組み合わせれば二重ループ、三重ループからも抜けれるよ。
実用性は置いといて。
実用性は置いといて。
463デフォルトの名無しさん (ワッチョイ 39e6-rusg)
2019/02/24(日) 17:54:50.07ID:+Nxplz4k0 >>454
N88さわってたからループからgotoするのは違和感あるわ
N88さわってたからループからgotoするのは違和感あるわ
464デフォルトの名無しさん (ワッチョイ b501-W5xD)
2019/02/24(日) 18:03:52.89ID:vPp3qwU80 >>459
ただのバカだと思うよ。
あの場合は明らかにエラーメッセージがおかしい。
でも、エラーチェックしてると2つ以上の原因(またはどちらかが間違い)が考えられる場合がよくある。
その時どうメッセージ出すかは、作る人(仕様)次第。
ちなみに、
If xxx Then Exit For
If xxx Then _
Exit For
If xxx Then
Exit For
End If
それぞれ意見はあるだろうが、無駄に行増やしたくないが、マルチステートメントもな… なので、自作では2番目をよく使う。(もちろん仕様で決まってるならそれ優先。賛否について議論はしない)
ただのバカだと思うよ。
あの場合は明らかにエラーメッセージがおかしい。
でも、エラーチェックしてると2つ以上の原因(またはどちらかが間違い)が考えられる場合がよくある。
その時どうメッセージ出すかは、作る人(仕様)次第。
ちなみに、
If xxx Then Exit For
If xxx Then _
Exit For
If xxx Then
Exit For
End If
それぞれ意見はあるだろうが、無駄に行増やしたくないが、マルチステートメントもな… なので、自作では2番目をよく使う。(もちろん仕様で決まってるならそれ優先。賛否について議論はしない)
465デフォルトの名無しさん (ワッチョイ ada2-uPuZ)
2019/02/24(日) 18:39:00.05ID:L3+XvQB40 いつまで経ってもほったらかしにされてるVBAが悪い
Pythonがどうたら言う話はどうなった
Pythonがどうたら言う話はどうなった
466デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/24(日) 19:22:57.41ID:PMakJCH00 資産が多すぎて移行不可
467デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/24(日) 22:11:47.76ID:Jr9LmcmNd >>464
最後の奴を使う。
インデントで明らか。
というか、そんなエラーを出すこと自体無い。
が、もちろんスタイルの問題だから一番最初の奴を使おうが2番目のを使おうが問題無い。
エラー出してもすぐに分かるならな。
ちなみにその最後の奴ならIfとEndIfを書いてからExit Forを書く。For Nextの場合も中身は後だ。
染み付いてるんでね。
別にそういう書き方をすべきと言ってるんじゃない。
エラーにすぐ気付くなら何も問題は無い。
最後の奴を使う。
インデントで明らか。
というか、そんなエラーを出すこと自体無い。
が、もちろんスタイルの問題だから一番最初の奴を使おうが2番目のを使おうが問題無い。
エラー出してもすぐに分かるならな。
ちなみにその最後の奴ならIfとEndIfを書いてからExit Forを書く。For Nextの場合も中身は後だ。
染み付いてるんでね。
別にそういう書き方をすべきと言ってるんじゃない。
エラーにすぐ気付くなら何も問題は無い。
468デフォルトの名無しさん (ワッチョイ 0aa2-uGSY)
2019/02/25(月) 05:22:32.65ID:+5CiRMIi0 PythonAという新しい言語が誕生します
469デフォルトの名無しさん (ブーイモ MMc9-5UjA)
2019/02/25(月) 09:04:42.27ID:8UCufaEGM VBAって遅い?
セルにもの入れると遅くなるって以外で全般的に。
セルにもの入れると遅くなるって以外で全般的に。
470デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/25(月) 09:16:19.92ID:RXoXH9qp0471デフォルトの名無しさん (ブーイモ MM8e-0USI)
2019/02/25(月) 10:41:49.47ID:8lMUk5exM 純粋な数値計算部分は遅くはないんだけどね
シートアクセスが遅いのはまあ
シートアクセスが遅いのはまあ
472731 (ワッチョイ 11e6-Vd0N)
2019/02/25(月) 12:13:02.41ID:lRskRR3f0473デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/25(月) 12:31:17.59ID:iOBpdHSUd 確かに遅いんだけど、遅いと言ってる奴の大半はそいつのコードに問題があるような気がする。
コード変えたら100倍速くなったとかざらだし、VBAが遅いせいでと感じることは殆ど無い。
遅い場合でも処理を考えたら仕方ないと思える場合が殆ど。
コード変えたら100倍速くなったとかざらだし、VBAが遅いせいでと感じることは殆ど無い。
遅い場合でも処理を考えたら仕方ないと思える場合が殆ど。
474デフォルトの名無しさん (スップ Sd0a-er5G)
2019/02/25(月) 12:42:50.70ID:iOBpdHSUd >>471
純粋な数値計算部分が遅いと思うよ。
だからAPI使ってマルチスレッドのコード書いても処理が追い付かなくなる危険性があるわけで。
ただ、そんなの遅いと感じるようなものじゃないし、遅さが気になったら自分のコ―ドを疑った方が良い。
純粋な数値計算部分が遅いと思うよ。
だからAPI使ってマルチスレッドのコード書いても処理が追い付かなくなる危険性があるわけで。
ただ、そんなの遅いと感じるようなものじゃないし、遅さが気になったら自分のコ―ドを疑った方が良い。
475デフォルトの名無しさん (オイコラミネオ MMb5-W5xD)
2019/02/25(月) 13:56:48.78ID:avG/zv9MM 裏で動かせるなら、処理遅くても他の作業してればエエねん。
終わったら、アイコン点滅して教えてくれればエエねん。
終わったら、アイコン点滅して教えてくれればエエねん。
476デフォルトの名無しさん (ワッチョイ 0aa2-uGSY)
2019/02/25(月) 17:45:36.59ID:+5CiRMIi0 javascriptとvbaをネストする方法ってありませんか?
Dim ie As InternetExplorer
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate ("https://kakaku.com/specsearch/0010/")
中略
ie.navigate "javascript:var i; for(i=1;i<18;i++){page(i);}"
これで1から18までpage関数をまわすことができると思いますが
1ページごとに情報を抜き出すための処理をvbaで書きたいです。
対象のwebページはjapvascriptのpage関数を使ってしかページ移動ができません。
ちなみに対象ページは↓です
https://kakaku.com/specsearch/0010/
Dim ie As InternetExplorer
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate ("https://kakaku.com/specsearch/0010/")
中略
ie.navigate "javascript:var i; for(i=1;i<18;i++){page(i);}"
これで1から18までpage関数をまわすことができると思いますが
1ページごとに情報を抜き出すための処理をvbaで書きたいです。
対象のwebページはjapvascriptのpage関数を使ってしかページ移動ができません。
ちなみに対象ページは↓です
https://kakaku.com/specsearch/0010/
477デフォルトの名無しさん (ワッチョイ f1ce-ZT00)
2019/02/25(月) 19:16:52.45ID:fA1JAyF+0 >>476
kakaku.comなら「この検索結果を友達に知らせる」から直リンの情報が得られて、そこにページ番号も書かれてるからVBAだけで全データを取得できる
kakaku.comなら「この検索結果を友達に知らせる」から直リンの情報が得られて、そこにページ番号も書かれてるからVBAだけで全データを取得できる
478デフォルトの名無しさん (アークセー Sxbd-SaAU)
2019/02/25(月) 19:23:27.43ID:v0J7eUlyx javascriptでページ情報を適当な外部ファイルにダンプして後でvbaでまとめて読み込めば良いだけでは?
479デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/25(月) 19:42:45.75ID:RXoXH9qp0 変なページはキーボードマクロでやったほうが手っ取り早い場合も
480デフォルトの名無しさん (ワッチョイ 0aa2-uGSY)
2019/02/25(月) 19:47:45.89ID:+5CiRMIi0481デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/25(月) 19:50:39.60ID:lqq1zerAa for i = 0 to 10
ie.navigate "javascript: page(" & i & ")"
vba_code_here()
next
ie.navigate "javascript: page(" & i & ")"
vba_code_here()
next
482デフォルトの名無しさん (ワッチョイ 0aa2-uGSY)
2019/02/25(月) 20:05:06.80ID:+5CiRMIi0 >>481
これでもいけますね!
ありがとうございます
自分でも試してたつもりだったんですが&の端がシングルクオーテーションだったからだめだったんだと思います。
これでもネストできそうです。ありがとうございます。
これでもいけますね!
ありがとうございます
自分でも試してたつもりだったんですが&の端がシングルクオーテーションだったからだめだったんだと思います。
これでもネストできそうです。ありがとうございます。
483デフォルトの名無しさん (ワッチョイ 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/3R2a1B0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
