!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:3lTArmdf0388デフォルトの名無しさん (ドコグロ MMb1-bAbS)
2019/02/21(木) 18:47:24.87ID:7HScUEGsM389デフォルトの名無しさん (ワッチョイ 6935-rusg)
2019/02/21(木) 18:56:23.16ID:YsIQ3BIo0390デフォルトの名無しさん (ドコグロ MM12-ZgJD)
2019/02/21(木) 18:57:24.28ID:ZuxKbWfpM >>384
お前が決めつけててワロタ
お前が決めつけててワロタ
391デフォルトの名無しさん (ワッチョイ 6d1f-Ty0B)
2019/02/21(木) 19:18:39.73ID:AiPG59Hd0 プログラムって書き方って人それぞれ違うと思うけどみんな書き方どんな?
EXCELのセルデータをComboBoxに格納
メイン文
caii addcbo(FilePath,1,Me.cbo1)
caii addcbo(FilePath,5,Me.cbo2)
caii addcbo(FilePath,8,Me.cbo3)
Function addcbo(....)
※DAOでEXCEL開く
第2引数の列を下にループ
第3引数に空になるまで格納
End Function
てな感じのコードってどうなの?
俺は先に2次元配列でシート丸ごと持ってきてから入れてく感じにしたんだけど、ここにいる人達はどう書く?
EXCELのセルデータをComboBoxに格納
メイン文
caii addcbo(FilePath,1,Me.cbo1)
caii addcbo(FilePath,5,Me.cbo2)
caii addcbo(FilePath,8,Me.cbo3)
Function addcbo(....)
※DAOでEXCEL開く
第2引数の列を下にループ
第3引数に空になるまで格納
End Function
てな感じのコードってどうなの?
俺は先に2次元配列でシート丸ごと持ってきてから入れてく感じにしたんだけど、ここにいる人達はどう書く?
392デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/21(木) 19:30:43.16ID:UHF1Q6o+0 データ取得は別プロシージャにして配列につっこむ
393デフォルトの名無しさん (ワッチョイ 6935-rusg)
2019/02/21(木) 19:43:21.62ID:YsIQ3BIo0394デフォルトの名無しさん (ワッチョイ 89c5-T+SP)
2019/02/21(木) 19:53:49.02ID:dFUlMofS0395デフォルトの名無しさん (ワッチョイ c594-uPuZ)
2019/02/21(木) 19:57:47.93ID:EV12A9vO0 >>387
さすがプロ回答者の鏡
嫌なら別に回答者なんてやらなくてもいいんだよ?
質問者をひとくくりに見下すようなひねくれ者になってまでプロ回答者をやり続けてる目的ってなに?
こんなとこで他人を見下してなきゃ自尊心保てないとかそんな感じ?
さすがプロ回答者の鏡
嫌なら別に回答者なんてやらなくてもいいんだよ?
質問者をひとくくりに見下すようなひねくれ者になってまでプロ回答者をやり続けてる目的ってなに?
こんなとこで他人を見下してなきゃ自尊心保てないとかそんな感じ?
396デフォルトの名無しさん (ワッチョイ 6935-rusg)
2019/02/21(木) 19:58:58.69ID:YsIQ3BIo0 >>395
回答も質問もしないならさっさと消えて
回答も質問もしないならさっさと消えて
397デフォルトの名無しさん (ワッチョイ 6a2f-oRCO)
2019/02/21(木) 20:03:08.56ID:mRRRBv2X0 >>384
こうやって回答者をひとくくりで決めつけちゃうような視野が狭い人が一番の癌なんだよな
バカほどなんでも決めつけて単純化させようとする
勝手に単純化させた結論を赤の他人にいきなり押しつけるから当然理解されない
理解されないことを相手がバカだからと決めつけていきなり罵り出す
頭がおかしい人なのかな?と放置されると論破して黙らせたと思い込んで悦に浸り出す
こうやって回答者をひとくくりで決めつけちゃうような視野が狭い人が一番の癌なんだよな
バカほどなんでも決めつけて単純化させようとする
勝手に単純化させた結論を赤の他人にいきなり押しつけるから当然理解されない
理解されないことを相手がバカだからと決めつけていきなり罵り出す
頭がおかしい人なのかな?と放置されると論破して黙らせたと思い込んで悦に浸り出す
398デフォルトの名無しさん (アークセー Sxbd-ki5U)
2019/02/21(木) 20:08:15.12ID:pV/9VR1fx 質問に対する回答よりも糞みたいな煽り合いに熱中する奴ってなんなの
399デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/21(木) 20:14:11.51ID:UHF1Q6o+0 質問者は基本的に馬鹿
「インターネットは開くんですけどxxシステムが開きません」と言われてTraceやらブラウザ設定やらやった挙句、LANケーブルが挿さってないだけでインターネットはキャッシュでした、っていうようなオチが山ほどある
奴らの言葉を鵜呑みにしてはいけない
「インターネットは開くんですけどxxシステムが開きません」と言われてTraceやらブラウザ設定やらやった挙句、LANケーブルが挿さってないだけでインターネットはキャッシュでした、っていうようなオチが山ほどある
奴らの言葉を鵜呑みにしてはいけない
400デフォルトの名無しさん (ワッチョイ a569-K3Le)
2019/02/21(木) 20:40:34.06ID:8KPV6qY80 ループから抜けるときにブレイクとかコンティニューないのこれ?
401デフォルトの名無しさん (ワッチョイ 6935-rusg)
2019/02/21(木) 20:44:24.69ID:YsIQ3BIo0 >>400
exitがある
Sub foo()
For i = 1 To 1000
Debug.Print i
If i > 100 Then
Exit For
End If
Next
End Sub
exitがある
Sub foo()
For i = 1 To 1000
Debug.Print i
If i > 100 Then
Exit For
End If
Next
End Sub
402デフォルトの名無しさん (ワッチョイ 89c5-T+SP)
2019/02/21(木) 20:49:56.47ID:dFUlMofS0 >>399←こいつホンマもんのプロさんやんwww
Traceてwwwwwwww
Traceてwwwwwwww
403デフォルトの名無しさん (ワッチョイ b501-eSdf)
2019/02/22(金) 00:25:53.24ID:9R98EKTp0 >>402
?
?
404デフォルトの名無しさん (ワッチョイ 6a7c-RjxB)
2019/02/22(金) 00:44:27.12ID:EpE2F9dV0 混沌とした質問ではなくてある程度整形された質問ならお互いに健全かもしれないね。
「例えば質問のためのテンプレ埋めてもらう」とかだけでもやり取りの回数減るんじゃないかな。
テンプレの内容はよくわからないけど、例えば「配列が解るか、オブジェクトが解るか、APIが解るか」とか書いてもらえれば質問者のレベルか解りやすいから罵ることもないだろうし
全体の流れの一部として困ってるのか、単純に言語仕様で困ってるのかだけでも質問者に必要なのがコンサルなのか解答なのか切り分けしやすいと思う。
「例えば質問のためのテンプレ埋めてもらう」とかだけでもやり取りの回数減るんじゃないかな。
テンプレの内容はよくわからないけど、例えば「配列が解るか、オブジェクトが解るか、APIが解るか」とか書いてもらえれば質問者のレベルか解りやすいから罵ることもないだろうし
全体の流れの一部として困ってるのか、単純に言語仕様で困ってるのかだけでも質問者に必要なのがコンサルなのか解答なのか切り分けしやすいと思う。
405デフォルトの名無しさん (アウアウエー Sa52-bAbS)
2019/02/22(金) 00:57:28.09ID:nGlWTBX9a 【目的】
【何がわからないのか】
【どうなることを期待しているのか】
【何故それが必要だと考えたのか】
でいいよ
質問者のレベルなんてレスの内容見りゃわかるだろ
【何がわからないのか】
【どうなることを期待しているのか】
【何故それが必要だと考えたのか】
でいいよ
質問者のレベルなんてレスの内容見りゃわかるだろ
406デフォルトの名無しさん (ワッチョイ 5e68-rusg)
2019/02/22(金) 01:31:51.52ID:1cZDvNG50 >>405
>【目的】
>【何故それが必要だと考えたのか】
これは無くてもいいかも
多分あんまり良い情報は返ってこない気がする
>【何がわからないのか】
これも無くて良いかもしれないけど、
まぁ一応質問スレなので
後は最初の状態が欲しい
初めと終わりがあれば何とでもなる
それと反復頻度。一回だけなら一回だけ用の雑コードで済ますし、毎日ならもうちょい丁寧に書く
ってわけで以下になっていると楽
【作業前の状態】
【終了時の状態】
【何がわからないのか】
【作業の頻度(一回だけ or 何度も)】
>【目的】
>【何故それが必要だと考えたのか】
これは無くてもいいかも
多分あんまり良い情報は返ってこない気がする
>【何がわからないのか】
これも無くて良いかもしれないけど、
まぁ一応質問スレなので
後は最初の状態が欲しい
初めと終わりがあれば何とでもなる
それと反復頻度。一回だけなら一回だけ用の雑コードで済ますし、毎日ならもうちょい丁寧に書く
ってわけで以下になっていると楽
【作業前の状態】
【終了時の状態】
【何がわからないのか】
【作業の頻度(一回だけ or 何度も)】
407デフォルトの名無しさん (ワッチョイ f1ce-ZT00)
2019/02/22(金) 05:05:38.47ID:+/kCrfoP0 データ量も欲しいなあ
1万件なら雑コード、100万件なら処理速度も意識してコード書く
1万件なら雑コード、100万件なら処理速度も意識してコード書く
408デフォルトの名無しさん (JP 0H2e-eSdf)
2019/02/22(金) 09:18:19.59ID:OJD9m6ZlH あんまり敷居を高くすると質問者が減るよ
409デフォルトの名無しさん (アークセー Sxbd-ki5U)
2019/02/22(金) 09:36:13.35ID:tzlpYPDLx 質問者が減れば珍回答で恥をかくリスクも減って回答者のプライドが保たれるので問題ない
410デフォルトの名無しさん (JP 0H2e-eSdf)
2019/02/22(金) 09:46:06.70ID:OJD9m6ZlH >>409
そう考えてるのはお前だけだよ
そう考えてるのはお前だけだよ
411デフォルトの名無しさん (ワッチョイ 6a90-rusg)
2019/02/22(金) 09:53:52.37ID:HFM6F1Kc0 まぁプロ回答者どもが罵り合いやってますが、質問者の方はそんなの気にせず
どんどん質問してくださいな w
どんどん質問してくださいな w
412デフォルトの名無しさん (ワッチョイ 5e68-rusg)
2019/02/22(金) 10:30:26.16ID:1cZDvNG50 >>408
どうすればいいか提案してくれ
どうすればいいか提案してくれ
413デフォルトの名無しさん (ワッチョイ c594-uPuZ)
2019/02/22(金) 16:26:24.07ID:brEIpzdG0 このスレの本質はプロ回答者選手権だからな
プロ回答者の敵はプロ回答者
質問者など餌に過ぎない
その餌を誰が一番上から踏み潰すかを競い合う
ちなみにプロ回答者にもなると質問に答えたりしない
プロ回答者の敵はプロ回答者
質問者など餌に過ぎない
その餌を誰が一番上から踏み潰すかを競い合う
ちなみにプロ回答者にもなると質問に答えたりしない
414デフォルトの名無しさん (ワッチョイ 5e68-rusg)
2019/02/22(金) 16:41:48.96ID:1cZDvNG50415デフォルトの名無しさん (ワッチョイ 9e8c-0USI)
2019/02/22(金) 16:46:43.90ID:8DxZ0bMn0 なるほど
プロ回答者ってのは「質問スレにおける回答活動」のプロって意味か
プロ回答者ってのは「質問スレにおける回答活動」のプロって意味か
416デフォルトの名無しさん (アウアウウー Sa21-/vCN)
2019/02/22(金) 20:37:47.33ID:O594Y42ea まぁ別に目的の記述は無くてもいいけど
何を目的にしているかの記述があれば
代替案考えてくれる人もいるだろうし
欲しい解答が得られやすい場合もあるわな
逆に余計なこと言って欲しくないのなら
書かないのも有りだと思うけど
解答者がゲスパーして答えるのも
また有りだと思うし
何を目的にしているかの記述があれば
代替案考えてくれる人もいるだろうし
欲しい解答が得られやすい場合もあるわな
逆に余計なこと言って欲しくないのなら
書かないのも有りだと思うけど
解答者がゲスパーして答えるのも
また有りだと思うし
417デフォルトの名無しさん (アウアウウー Sa21-/vCN)
2019/02/22(金) 20:44:37.13ID:O594Y42ea418デフォルトの名無しさん (ワッチョイ 39da-dS/9)
2019/02/22(金) 21:01:06.12ID:Pvmgb/R80 ここの質問を見ると、よほど変なもん作らされてるんだろうなって思う。
何に使うのかわからないようなのが多くて、
実務で使いそうなのがあまり出てこない。
何に使うのかわからないようなのが多くて、
実務で使いそうなのがあまり出てこない。
419デフォルトの名無しさん (ラクッペ MM6d-K3Le)
2019/02/22(金) 21:23:19.91ID:yyymEZ9cM 実務では文字列解析とデータベースからの検索程度で難しくは無いんだけど
適当に組んだせいか妙に遅いのが悩み
高速化するテクニックとかないかな
適当に組んだせいか妙に遅いのが悩み
高速化するテクニックとかないかな
420デフォルトの名無しさん (ワッチョイ f1ce-ZT00)
2019/02/22(金) 21:42:30.22ID:+/kCrfoP0 >>419
VBAを捨てる
VBAを捨てる
421デフォルトの名無しさん (ワッチョイ a6da-dS/9)
2019/02/22(金) 22:11:55.73ID:moZ6n3ck0 >>419
早いpcに買い替える
早いpcに買い替える
422デフォルトの名無しさん (ワッチョイ 39da-dS/9)
2019/02/22(金) 22:45:12.67ID:Pvmgb/R80 二重Forループ
↓
VLOOKUP
↓
高速VLOOKUP
↓
SQL
これより速いのって、やっぱアセンブラ?
↓
VLOOKUP
↓
高速VLOOKUP
↓
SQL
これより速いのって、やっぱアセンブラ?
423デフォルトの名無しさん (ワッチョイ 39da-dS/9)
2019/02/22(金) 22:46:15.97ID:Pvmgb/R80 アドバンスフィルタが抜けてた。
424デフォルトの名無しさん (ドコグロ MM0a-bAbS)
2019/02/22(金) 23:22:12.68ID:Ig/cWVtXM425デフォルトの名無しさん (ワッチョイ 8aa3-5+1H)
2019/02/23(土) 01:23:52.97ID:CTQXI+x50 エラーがわかりにくいのがいちばんのストレス
そのほかにも可変長引数とかジェネリクスとかwithの糞文法とか短絡評価未搭載とかインターフェイスが歪んだ設計になるとか色々遅れすぎ
所詮底辺が一発ツールで使う言語
そのほかにも可変長引数とかジェネリクスとかwithの糞文法とか短絡評価未搭載とかインターフェイスが歪んだ設計になるとか色々遅れすぎ
所詮底辺が一発ツールで使う言語
426デフォルトの名無しさん (アークセー Sxbd-ki5U)
2019/02/23(土) 01:28:03.84ID:M/apCBqcx 短絡評価がないせいでネストを深くせざるをえないときがあるんだよね
427デフォルトの名無しさん (ワッチョイ 11b0-0RHA)
2019/02/23(土) 04:42:29.90ID:GIBqdFBY0 短絡的なVBerは多いのにな
428デフォルトの名無しさん (ワッチョイ ea4f-/vCN)
2019/02/23(土) 07:16:01.49ID:F2VDrfwR0429デフォルトの名無しさん (ワッチョイ 3968-rusg)
2019/02/23(土) 09:04:33.17ID:Cm202fZQ0 >>425
エラーチェックは本当にな
これでforが無いって言われる。本当にないのはもちろnendif
さすがにもう迷う事は無いけど、
初心者の頃は散々苦しめられた
Sub foo()
For i = 1 To 10
If True Then
Next
End Sub
エラーチェックは本当にな
これでforが無いって言われる。本当にないのはもちろnendif
さすがにもう迷う事は無いけど、
初心者の頃は散々苦しめられた
Sub foo()
For i = 1 To 10
If True Then
Next
End Sub
430デフォルトの名無しさん (ワッチョイ 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も構文を修正するのはいろいろと問題があるだろうけど、こういうペリフェラルな部分では改良できるところは
いくらでも残ってるよねえ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
- (´・ω・`)おいそこ。そこの貴様だ。へらへらするな。
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
