Excel VBA 質問スレ Part78

■ このスレッドは過去ログ倉庫に格納されています
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/

-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/10/30(日) 13:52:22.69ID:6yf2E1Gz0
3行貼り付けても
2行になるんだな この呪文↓

!extend:checked:vvvvv:1000:512
2022/10/30(日) 13:52:41.17ID:6yf2E1Gz0
1行目は本物の呪文
2行目は次回スレ立て時用の呪文
3行目は間違って消す馬鹿除けの保険
2022/10/30(日) 13:54:09.50ID:6yf2E1Gz0
とりあえず建てたよ。
あと進行よろしくお願いします。
5デフォルトの名無しさん (ワッチョイ 1924-NQ1M)
垢版 |
2022/10/30(日) 15:40:36.74ID:pPckLpAv0
初心者はなんで自分の能力でできないことをやりたがるんだろうね
2022/10/30(日) 15:56:30.95ID:INNDxBri0
そりゃ自分でできることだけやってても伸びないからじゃね
2022/10/30(日) 15:59:52.83ID:Mbn5azmc0
>>5
子供と一緒で自分の能力でできることを知らないからじゃない?
2022/10/30(日) 16:51:58.49ID:5A/AyQcT0
出来なかったことがやれるように成ったらうれしかろ? 次のステップは踏みたいじゃん 階段途中で足止め食うよりは
https://chie-pctr.c.yimg.jp/dk/iwiz-chie/que-13121424663?w=999&h=999&up=0
前スレの最後の質問は、ログっぽさ出そうと苦労しても出力が一瞬で終わってガッカリすると思う
よっぽどひつこいloopとかさせて延々と処理し続けるコード書くなんてのも無駄の極みだし
出力に遅延処理させる? Excel上ではとっくに結果出てるのにログっぽい画面ではダラダラ出力し続けさせる?
うん、悪くない 関係無いが、マトリックスのOPの象徴をマトリックス・コード デジタル・レインとか呼ぶらしい 今更知った
2022/10/30(日) 17:13:30.48ID:6arNe7Kx0
>>5
それ以前に使うソフト間違ってねえか?
てのばかりだしね。
出来ること出来ないことの判断がさ。
2022/10/30(日) 18:34:39.52ID:2N6ePwSn0
>>5
そもそも自分の能力で出来るならこのスレに来ないし
2022/10/30(日) 19:11:45.46ID:LcJSLwmnd
>>5
判断すらできないし、それを指摘する人もまわりにいないんでしょ
2022/10/30(日) 19:21:37.70ID:ZcgB96550
自分でできない処理をやりたいと考えるだけならいいが
自分で調べたりしないで質問したらやってもらえるとか思ってるんじゃないか
2022/10/31(月) 11:08:09.71ID:y4w9EAHl0
しばらく前からそういう層は増えてる 黎明期のような、積極的に見知らぬ世界に飛び込もうって勢いじゃなく
仕事でやらざるを得ないからしょうがなく操作する、でも分からん、教えて
検索しようとしても、やたらと広告メインのサイトばかりヒットして、ロクな情報に辿り着けない ンなもん使えねー に成る
便利も度を超すとアタマがパーに成るだけ 老獪なじじい共は相手が美少女だとでも思い込んで、手取り足取り懇切丁寧に教えてあげて
やる気(ぜってーモチベーションとか言わない強靭な意志)を引き出してあげるよう、つべこべ文句垂れてないで、やよ励め
2022/10/31(月) 15:01:23.81ID:1VyNBOoWd
まあ興味ある質問ならこたえるし
質問がよくわからない、質問者もよくわからないなら無視するだけだから質問するのはかまわないけどね
15デフォルトの名無しさん (ワッチョイ 134f-JQHF)
垢版 |
2022/10/31(月) 19:53:47.30ID:pfNUNfDW0
質問です。
ボタンを押して時間が長く掛かる処理を実行する際、
他のとあるボタンを押したときにピタッと処理を中断するプログラムって書くことは可能ですか?
エスケープキーとかで中断させようとすると、中々中断されなかったり、固まってしまうことがあるもので・・・
以下の条件は満たして欲しいです。
・中断用のボタンを押すまでの処理実行速度は落とさない。
・中断用のボタンを押すとピタッと止まって実行している処理を中断してプログラムを終了する。
※尚、途中でDBを読み込むなどVBAに依存しない処理は含まれないものとします。
2022/10/31(月) 19:56:07.94ID:m528Nikw0
>>15
無理
時間のかかってる部分にDoEventsを入れるしかないし、スピードは落ちる
17デフォルトの名無しさん (ワッチョイ 134f-JQHF)
垢版 |
2022/10/31(月) 22:50:53.16ID:pfNUNfDW0
>>16
なるほど、やはり無理なnですね
諦めがつきました。ありがとうございます。
2022/10/31(月) 23:00:31.00ID:4/W2uk2s0
>>15
作り方によるが、長くかかる処理がLoop回数が多いようなパターンであれば

1.長くかかる処理の中に、ある条件が成り立てば以降の処理をしないで終了するようにしておく
2.Doeventsを長くかかる処理の中に入れる
3.ボタンを押したときに上の条件が成り立つようにする

なら一応それっぽくできるかも
19デフォルトの名無しさん (ワッチョイ 7b66-FQW+)
垢版 |
2022/11/02(水) 12:00:56.68ID:LYlR/saz0
win10 office2019

ループの外で
Dim ar() as long
してある配列を
そのあとのループの中で初期化してかつ、空のままUboundでも使いたいです。
今はLong宣言を諦めてVariantにしてループ内で
ar = array()
してそのあと空のままUboundに使ってもエラーにならないようにして使っています。

Redimで初期化してLongの空配列でもUbound出来る方法で、誰に配っても問題なく動くというのはないでしょうか?
2022/11/02(水) 12:44:54.50ID:twL4/Nfdr
日本語でおけ
コード出せ
2022/11/02(水) 13:09:37.72ID:u9JRuLqrd
俺も3回読み直したけど何がしたいかわからんかったわ
2022/11/02(水) 14:30:47.00ID:u9JRuLqrd
初期化って何?Erase??
空ってどういう状態???要素数の宣言なし????
じゃあRedimで初期化して空配列ってなに?????
なんだよなぁ
2022/11/02(水) 17:23:30.25ID:CTo+D6um0
>>19
たとえばUBound2とかいう名前で、空だったら-1を返す、そうでなければ
UBoundの値を返すといった関数を作って、渡した人にはUBound2を使ってもらうとか。

あるいは空に戻すときに、ReDim ar(-1 to -1) as longのようにするとか。
実際には空の配列ではないけれど、 UBound(ar) < 0 のような形で判定できる。
2022/11/02(水) 17:38:59.67ID:u9JRuLqrd
自分は基本的に動的配列は>>23の様な初期化条件をきめておいて操作してるわ
使ったことなくて今ためしたけど
if (not ar) = -1 then
の様な式で要素数未定義が判断できるけど
こんなことしても事故のもとだからなぁ
2022/11/02(水) 17:42:15.18ID:K1ZIN18od
以前似たようなことを質問していた馬鹿だろ
2022/11/02(水) 18:07:41.93ID:LYlR/saz0
>>23
ありがとうございます。
UBound2というのは変数でしょうか?

ttps://qiita.com/Q11Q/items/a2d61545d9e5c4e15f22
渡すというのは完成したマクロファイルを他のパソコンで動かすという意味です。

dim Ary()
Ary = Array()
この初期化がとても便利で空のままUBound(Ary)してもエラーになりません。
その代償でVariant型にせざるを得ないのが気になってしまって。

-1 to 1という初期化方法はいいですね。
とても参考になるレスをありがとうございました。
これで失礼致します。
27デフォルトの名無しさん (アウアウウー Sa9d-NQ1M)
垢版 |
2022/11/03(木) 02:19:49.23ID:tGqLN8Kua
エラー処理は誰もが苦労する所だな
2022/11/03(木) 08:29:16.93ID:NbsIPyEs0
VBAはだいたいの機能が備わってるけどこういう基本的なところが抜けてたりするから
>>19はよくある疑問なんだけどそういう機能が無いので>>24みたいな非公式なTipsが編み出されたりしてるわけで
2022/11/03(木) 11:49:27.42ID:k/SeYHwf0
無理やり異常が出ないようにコードを組めてもその際の実行結果って正しい結果になっているのかな?
2022/11/03(木) 13:26:26.26ID:SXuBVfSid
人のコードだからどうでもいいんじゃね
2022/11/03(木) 13:41:08.10ID:8HWzaTv40
裏技を使わないと書けないコードってのは元の設計が間違ってる
言語仕様をきちんと理解してないだけ
2022/11/03(木) 16:03:25.78ID:hk926ywx0
>>29
理由が解ってれば辻褄が合わせでもいいんじゃない?
個人的にはエラーの原因が解らないからと例外処理で済ますのが一番ダメだと思う
2022/11/03(木) 21:03:31.78ID:6JQwVlSC0
VBAを1から覚えるなら「エクセルの神髄」というサイトで勉強すれば早いですか?
https://excel-ubara.com/excelvba1/

楽天RSSをりようして、株価データを取得・操作のため学ぼうと思っています。
34デフォルトの名無しさん (ワッチョイ 134f-JQHF)
垢版 |
2022/11/03(木) 21:19:20.67ID:uJ5qkIw80
>>33
そういう目的達成のためなら
金出して人に作ってもらうのが一番早い
2022/11/03(木) 22:18:41.27ID:301n+Lw6d
その目的ならExcel使わない方が良い
2022/11/03(木) 22:25:29.94ID:6JQwVlSC0
>>34
最終的には頼みますけど、自分である程度は理解していなと
ちょっとしたカスタマイズや金額の相場がわからないので
まずは自分でやってみようと思いました。
最低限の知識くらいはと。
2022/11/03(木) 22:37:23.30ID:hk926ywx0
あー、昔そういうの作った気がすると思ってほっくり返したら出てきたわ
https://uploda1.ysklog.net/uploda/7e9d14b129.jpg

確か全銘柄から値が急激に上下した銘柄をピックアップしてた

知ってると思うけどHPからとってくるデータは基本時間遅らせてるからデイトレするなら役に立たないよ
昔はどっかの証券会社でAPIかなんか提供してたはず、今はわからんす

真髄とかってチラ見だけどサイト良いね、ただ印刷とかグラフとか重要じゃないものも等価に説明してるんで
自分にとって必要なものから覚えていった方が良いかも
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況