!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b6da-6NWR)
2021/03/18(木) 22:08:43.71ID:jtngtgXU0465デフォルトの名無しさん (ワッチョイ bd10-y5Lq)
2021/04/27(火) 01:04:32.91ID:mgRy5CVU0 中身のない()つけたら動的と勘違いするだろ
466デフォルトの名無しさん (アウアウウー Sa30-rqav)
2021/04/27(火) 10:18:38.80ID:5d+cCuuaa >>459
2つ目と3つ目
ごめんなさい色々やって自決しました。変更先のフォルダ名にセミコロンが入ってたのがまずかったみたい。
どうしようもないので今回は諦めて違うことをします。お手数おかけしました。
2つ目と3つ目
ごめんなさい色々やって自決しました。変更先のフォルダ名にセミコロンが入ってたのがまずかったみたい。
どうしようもないので今回は諦めて違うことをします。お手数おかけしました。
467デフォルトの名無しさん (ワッチョイ 412f-42zS)
2021/04/27(火) 10:32:17.76ID:KMwaQK/30 >466
自決ってお前w
自決ってお前w
468デフォルトの名無しさん (ワッチョイ 412f-42zS)
2021/04/27(火) 10:51:44.25ID:KMwaQK/30 >>466
ちょっと試したけど、たしかにカレントディレクトリにセミコロンとか入ってると
そこが初期位置にならんな
カレントディレクトリを8.3形式で指定したらイケルっぽいぞ
いまさら直る気がせんが気になるならマイクロソフトに報告してみ
ちょっと試したけど、たしかにカレントディレクトリにセミコロンとか入ってると
そこが初期位置にならんな
カレントディレクトリを8.3形式で指定したらイケルっぽいぞ
いまさら直る気がせんが気になるならマイクロソフトに報告してみ
469デフォルトの名無しさん (アウアウエー Sa66-qRZI)
2021/04/27(火) 19:06:09.30ID:Xk0sjNEua ここではもうとっくにエラー429については議論され尽くしましたか?
初心者なのですが、file system objectを読もうとしたらアクティブXがそれはできませんと出て、どうしてよいやら
初心者なのですが、file system objectを読もうとしたらアクティブXがそれはできませんと出て、どうしてよいやら
470デフォルトの名無しさん (ワッチョイ 1e01-K+SG)
2021/04/27(火) 19:49:18.21ID:vIQbS3UC0 そんな用語使う初心者がいるか!
471デフォルトの名無しさん (アウアウエー Sa66-qRZI)
2021/04/27(火) 20:05:11.09ID:Xk0sjNEua え?
472デフォルトの名無しさん (ワッチョイ a868-8KU9)
2021/04/27(火) 20:33:52.91ID:Fi83YJTP0 な?
473デフォルトの名無しさん (ワッチョイ 245f-QM0T)
2021/04/27(火) 20:40:43.33ID:ecHnxSib0 り?
474デフォルトの名無しさん (ワッチョイ 8463-On6t)
2021/04/27(火) 20:45:59.35ID:UpvbOzN+0 ほんぎゅろげええええええええ
475デフォルトの名無しさん (JP 0H7d-0NDc)
2021/04/27(火) 23:48:49.38ID:9wjO2iURH 通常の=での代入でもVariantの()で宣言した変数には配列が入らないんだね
Range型の複数セルが代入できるので勘違いしてた
Range型が返す配列はVariant型だからできるっぽい?
Variant型の()付き変数は配列じゃなければどんな意味があるのか?
Range型の複数セルが代入できるので勘違いしてた
Range型が返す配列はVariant型だからできるっぽい?
Variant型の()付き変数は配列じゃなければどんな意味があるのか?
476デフォルトの名無しさん (ワッチョイ 245f-QM0T)
2021/04/28(水) 00:12:42.15ID:wZLkUEzX0 どんだけこだわるのよ
477デフォルトの名無しさん (ワッチョイ 8463-On6t)
2021/04/28(水) 00:34:41.28ID:oMne/ugv0 自分は好き勝手やってるのに俺らだけ奴隷労働しろと
ちょっとでも目立つのが気に入らんと
ちょっとでも目立つのが気に入らんと
478デフォルトの名無しさん (ワッチョイ 70da-iXMK)
2021/04/28(水) 02:49:41.12ID:R/cV679Q0 他人の事情なんか配慮しないのがデキるプログラマー
479デフォルトの名無しさん (ワッチョイ b701-Bsub)
2021/04/28(水) 03:25:04.10ID:yYRagbWx0 >>475
Variantの()で宣言した変数はVariant配列型の変数で、Valueの戻り値もちゃんと代入できるよ
ただし複数セルを参照しててValueが二次元配列を返すときに限る
一つのセルだけしか参照してない場合は配列を返さないので型不一致になる
Variantの()で宣言した変数はVariant配列型の変数で、Valueの戻り値もちゃんと代入できるよ
ただし複数セルを参照しててValueが二次元配列を返すときに限る
一つのセルだけしか参照してない場合は配列を返さないので型不一致になる
480デフォルトの名無しさん (ワッチョイ a868-8KU9)
2021/04/28(水) 05:59:25.47ID:OKDjIMLh0 そういやvbaの配列は、
・配列じゃない値
・countが1の配列
これが微妙に違っていた気がする
・配列じゃない値
・countが1の配列
これが微妙に違っていた気がする
481デフォルトの名無しさん (JP 0H98-On6t)
2021/04/28(水) 07:14:02.38ID:X/WADpVMH482デフォルトの名無しさん (アウアウウー Sa08-iXMK)
2021/04/28(水) 12:09:24.67ID:Jq2bf8XLa 配列にはいれっ
483デフォルトの名無しさん (アウアウウー Sa30-rqav)
2021/04/28(水) 13:41:38.64ID:K3oXR9qNa 変数を反芻
484デフォルトの名無しさん (ワッチョイ ac49-8Khg)
2021/04/28(水) 14:02:46.34ID:GqNxFOs40 Excelのオブジェクトを操作したときの動きからVBAの仕様を推測して
混乱してるように見えるな。質問スレじゃなくて、VBAについて教えて
くれる人や本やサイトを探した方がいいんじゃないか。
混乱してるように見えるな。質問スレじゃなくて、VBAについて教えて
くれる人や本やサイトを探した方がいいんじゃないか。
485デフォルトの名無しさん (アウアウウー Sab5-4hJQ)
2021/04/28(水) 19:07:20.75ID:fsi6lQwja ベテランの初心者がきました
よろぴく
よろぴく
486デフォルトの名無しさん (アウアウエー Sa66-qRZI)
2021/04/28(水) 19:31:32.06ID:xYFjFFNHa エラー429は自力で解決したのでもういいです。
487デフォルトの名無しさん (アウアウエー Sa66-qRZI)
2021/04/28(水) 19:41:38.21ID:xYFjFFNHa 理由はただの書き間違いでした。
488デフォルトの名無しさん (ラクッペペ MM34-4uvq)
2021/04/28(水) 19:45:56.67ID:Sz6ocakQM 429 = 死肉
489デフォルトの名無しさん (ワッチョイ 154f-DhNu)
2021/04/28(水) 23:01:14.39ID:gO4+NyeW0 >>479
Variant型の配列っていうのがあるんだね
配列でないVariant型ならデータが入っていればVariant型ではない(代入した型に変換される)
だからデータが入っているVariant型の配列って無いと思ってた
これ以上は切りが無くなりそうなので止めます
ありがとう
Variant型の配列っていうのがあるんだね
配列でないVariant型ならデータが入っていればVariant型ではない(代入した型に変換される)
だからデータが入っているVariant型の配列って無いと思ってた
これ以上は切りが無くなりそうなので止めます
ありがとう
490デフォルトの名無しさん (ワッチョイ bd10-y5Lq)
2021/04/29(木) 02:21:41.91ID:EFUE1W1F0 最初から配列であることを宣言した場合と、
Variantに配列をぶっこんだ場合は、
区別しないといけない
Variantに配列をぶっこんだ場合は、
区別しないといけない
491デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 03:35:54.80ID:xPFf86S80 Variant型は調べれば調べるほど「???」ってなるから気をつけて
VB.Netでは廃止されたくらいの型だから
俺も最初調べててVariant型って内部型とか持ってるし
代入したものの参照でも抱えているだけのものと高を括ってたけど
Variant型の配列を作ってある要素には値型、ある要素には参照型を設定して関数の引数に値渡しで渡すと
きちんと値型の部分は値が、参照型の部分は参照が渡されるのは少し前にレスした通り
そもそも何で配列の値渡しは出来ないのにVariant型に入れると値渡しが出来るような思想で作られているのかも謎。そういうものだと思う他ない。
VBAがObject指向に片足を突っ込んでいるところで止まっているせいか、Objectでもそうでないものも代入出来る型として存在していて使い勝手が良い反面、
コンパイル時に内部型が違う場合でもエラーにならないから実行時に初めてエラーとなって気がついたり、
違う型のものを上書いてしまってエラーとならずに期待した挙動と変わってしまう場合が出て来る恐ろしい型でもある。
Variant型を使うなとは言えないけど
使う際にはその特性と挙動を十分把握していないと、ちょっと何か変わったことをしただけで期待した結果が得られないことになり得るから十分気をつけてね。
VB.Netでは廃止されたくらいの型だから
俺も最初調べててVariant型って内部型とか持ってるし
代入したものの参照でも抱えているだけのものと高を括ってたけど
Variant型の配列を作ってある要素には値型、ある要素には参照型を設定して関数の引数に値渡しで渡すと
きちんと値型の部分は値が、参照型の部分は参照が渡されるのは少し前にレスした通り
そもそも何で配列の値渡しは出来ないのにVariant型に入れると値渡しが出来るような思想で作られているのかも謎。そういうものだと思う他ない。
VBAがObject指向に片足を突っ込んでいるところで止まっているせいか、Objectでもそうでないものも代入出来る型として存在していて使い勝手が良い反面、
コンパイル時に内部型が違う場合でもエラーにならないから実行時に初めてエラーとなって気がついたり、
違う型のものを上書いてしまってエラーとならずに期待した挙動と変わってしまう場合が出て来る恐ろしい型でもある。
Variant型を使うなとは言えないけど
使う際にはその特性と挙動を十分把握していないと、ちょっと何か変わったことをしただけで期待した結果が得られないことになり得るから十分気をつけてね。
492デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 03:54:38.48ID:xPFf86S80 余談だけど他の言語にも
例えばJavaScriptやC#には変数宣言する際に、型にvarって宣言することがあるけど、これはVariableと言って全然別物で
最初に代入した値の型をJavaScriptでは暗黙的に、C#では型推論で持ち回るものだから、もし、今後そう言った別言語を扱うことがあれば
そういうものだと覚えておけば勘違いしなくて済むよ。
例えばJavaScriptやC#には変数宣言する際に、型にvarって宣言することがあるけど、これはVariableと言って全然別物で
最初に代入した値の型をJavaScriptでは暗黙的に、C#では型推論で持ち回るものだから、もし、今後そう言った別言語を扱うことがあれば
そういうものだと覚えておけば勘違いしなくて済むよ。
493デフォルトの名無しさん (JP 0H98-On6t)
2021/04/29(木) 06:09:50.46ID:S4zpEuOGH Variant型っていうのはVBAやVBのために作られたわけじゃない
もともとWindowクラスが持ってる機能に対して、演算子をオーバーロードした物
もともとWindowクラスが持ってる機能に対して、演算子をオーバーロードした物
494デフォルトの名無しさん (テテンテンテン MM34-veNy)
2021/04/29(木) 06:17:04.92ID:K+5EoiH2M495デフォルトの名無しさん (JP 0H98-On6t)
2021/04/29(木) 06:50:30.24ID:S4zpEuOGH >>494
VariantとObjectは同じような物とか代替品として紹介してるサイトとかあるけど、これはあくまでも初心者向けの説明
実際はまったく違う物なので、個人的にはこうやって説明するのも反対したいところ
VariantとObjectは同じような物とか代替品として紹介してるサイトとかあるけど、これはあくまでも初心者向けの説明
実際はまったく違う物なので、個人的にはこうやって説明するのも反対したいところ
496デフォルトの名無しさん (テテンテンテン MM34-veNy)
2021/04/29(木) 07:11:32.09ID:uNZAJPBsM497デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 07:11:42.35ID:xPFf86S80 >>495
そうなんだよね
Variantの代わりがObjectだと言われると
うーん、まぁ間違っていないとは思うけど
物凄い違和感を感じるよね。
同じものかと言われれば絶対別物と
はっきり言うことが出来るけど。
そうなんだよね
Variantの代わりがObjectだと言われると
うーん、まぁ間違っていないとは思うけど
物凄い違和感を感じるよね。
同じものかと言われれば絶対別物と
はっきり言うことが出来るけど。
498デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 07:17:49.07ID:xPFf86S80 >>496
そうだねぇ
とりあえずこんなところかねぇ
ちなみに、何でも入る魔法の型といえば、C#ではobject型がそれに当たる。しかし、object型とVariant型は同じではない。object型は参照型であり、値型の値を扱うにはボックス化という手順が必要になる。また、参照型である以上、メモリの確保と破棄というオーバーヘッドが必ず付いて回る。しかし、Variant型は整数のような値であっても、オブジェクトへの参照であっても、それをそのまま格納できる。ボックス化やメモリの確保、解放のオーバーヘッドもない。まさに万能の魔法の箱である。
https://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_12/extremecs_12_02.html
そうだねぇ
とりあえずこんなところかねぇ
ちなみに、何でも入る魔法の型といえば、C#ではobject型がそれに当たる。しかし、object型とVariant型は同じではない。object型は参照型であり、値型の値を扱うにはボックス化という手順が必要になる。また、参照型である以上、メモリの確保と破棄というオーバーヘッドが必ず付いて回る。しかし、Variant型は整数のような値であっても、オブジェクトへの参照であっても、それをそのまま格納できる。ボックス化やメモリの確保、解放のオーバーヘッドもない。まさに万能の魔法の箱である。
https://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_12/extremecs_12_02.html
499デフォルトの名無しさん (ワッチョイ a868-8KU9)
2021/04/29(木) 07:22:43.60ID:r4t8KOvl0500デフォルトの名無しさん (ワッチョイ a868-8KU9)
2021/04/29(木) 07:23:03.00ID:r4t8KOvl0 なわけないか
501デフォルトの名無しさん (アウアウウー Sab5-4hJQ)
2021/04/29(木) 07:25:47.75ID:iJcHPvsoa VBAとVB.netはまったく別物で比較しようなんて思わない
標準がバリアントなんだからできるだけバリアントを使うべきだし
値渡しの件も、VBAでは値渡しのが原則なんだから
値渡しのオンリーにすべきとおもうけど
どうしても参照渡したいならパブリックにするだけ
標準がバリアントなんだからできるだけバリアントを使うべきだし
値渡しの件も、VBAでは値渡しのが原則なんだから
値渡しのオンリーにすべきとおもうけど
どうしても参照渡したいならパブリックにするだけ
502デフォルトの名無しさん (テテンテンテン MM34-veNy)
2021/04/29(木) 07:36:18.54ID:xmHZYPrVM503デフォルトの名無しさん (JP 0H98-On6t)
2021/04/29(木) 07:48:54.45ID:S4zpEuOGH504デフォルトの名無しさん (ワッチョイ a868-8KU9)
2021/04/29(木) 07:55:26.52ID:r4t8KOvl0 >>502
冗談で言ったらマジか
まぁオブジェクトは参照になるなら、ヒープ領域云々はそこまで考えなくてもいいか
vbaの文字列は文字の配列じゃなく単に値だったから、variantで文字列使いまくると良くない?
※そもそも値じゃなかったらごめん
冗談で言ったらマジか
まぁオブジェクトは参照になるなら、ヒープ領域云々はそこまで考えなくてもいいか
vbaの文字列は文字の配列じゃなく単に値だったから、variantで文字列使いまくると良くない?
※そもそも値じゃなかったらごめん
505デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 08:01:54.76ID:xPFf86S80506デフォルトの名無しさん (アウアウウー Sab5-4hJQ)
2021/04/29(木) 08:12:11.05ID:iJcHPvsoa VBのときに他の言語がどうこうと長話はじめるのは老害みたいなもの
気をつけたほうがよい
気をつけたほうがよい
507デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 08:17:52.33ID:xPFf86S80 老害だもの
みつを
みつを
508デフォルトの名無しさん (スプッッ Sd7e-T6Cp)
2021/04/29(木) 08:45:33.51ID:530kL6INd509デフォルトの名無しさん (ワッチョイ f64f-Opq7)
2021/04/29(木) 09:13:27.94ID:xPFf86S80 >>508
そうかVBSは明示的に型宣言することないから忘れてた
そうかVBSは明示的に型宣言することないから忘れてた
510デフォルトの名無しさん (JP 0H98-On6t)
2021/04/29(木) 09:39:50.72ID:S4zpEuOGH Visual StudioのC++のVariantクラスも構造体の中身はまったく同じ
511デフォルトの名無しさん (アウアウウー Sab5-4hJQ)
2021/04/29(木) 12:13:26.48ID:iJcHPvsoa そうなると
VBSにてintの宣言をしたいときはどうなるの
VBSにてintの宣言をしたいときはどうなるの
512デフォルトの名無しさん (ワッチョイ 4b63-Z8j5)
2021/04/29(木) 12:38:49.55ID:q/beK7t50 その辺考慮することでExcelのマクロとしてどんなメリットがあるの?
513デフォルトの名無しさん (スップ Sd02-On6t)
2021/04/29(木) 13:12:06.33ID:KFW9RSkud >>511 不可能
514デフォルトの名無しさん (ワッチョイ 1e01-bfA/)
2021/04/29(木) 13:13:04.28ID:Z9k/ziJ20 よくわからんけど一般的な仕事に使うのに知る必要のある情報じゃなさそう
515デフォルトの名無しさん (スップ Sd02-On6t)
2021/04/29(木) 13:16:00.97ID:KFW9RSkud >>512
Variantは多機能だからプログラミングの負担を減らすことができるけど、メモリ食いだから、たとえば大きい配列が宣言できなかったりする
Variantは多機能だからプログラミングの負担を減らすことができるけど、メモリ食いだから、たとえば大きい配列が宣言できなかったりする
516デフォルトの名無しさん (ワッチョイ bd10-y5Lq)
2021/04/29(木) 16:00:22.26ID:EFUE1W1F0 AccessVBAエキスパートの試験では扱う範囲
ExcelVBAエキスパートでは気にしたくていい
試験はAccessVBAの方が2段くらい難しい
もちろんスタンダードの話な
ExcelVBAエキスパートでは気にしたくていい
試験はAccessVBAの方が2段くらい難しい
もちろんスタンダードの話な
517デフォルトの名無しさん (ワッチョイ fe68-uCoU)
2021/04/29(木) 16:53:35.51ID:aGUEXGqc0 エクセルで組んだ表や数式を
いつパソコンが壊れても
すぐ復元できるよう
メモに残しておきたいんですが
すでにある内容を
HTML文書みたいに文字だけに変換できたりってするんですか?
いつパソコンが壊れても
すぐ復元できるよう
メモに残しておきたいんですが
すでにある内容を
HTML文書みたいに文字だけに変換できたりってするんですか?
518デフォルトの名無しさん (ワッチョイ 1e01-bfA/)
2021/04/29(木) 17:08:19.64ID:Z9k/ziJ20 素直にバックアップとるかクラウドで良くないですか
519デフォルトの名無しさん (アウアウウー Sa08-iXMK)
2021/04/29(木) 18:10:50.49ID:MWXZTeF3a >>517
壊れたパソコンには復元できないよ
壊れたパソコンには復元できないよ
520デフォルトの名無しさん (ワッチョイ fe68-uCoU)
2021/04/29(木) 18:18:45.59ID:aGUEXGqc0 再現っていえばいいのかなんといえばいいのか…
とりあえずもしもの時のためにレシピ?を残しておきたい
とりあえずもしもの時のためにレシピ?を残しておきたい
521デフォルトの名無しさん (ワッチョイ 38e6-4uvq)
2021/04/29(木) 18:24:10.96ID:aTZmoNVK0 .slk マルチプラン形式ならテキストとして読めるぞ
522デフォルトの名無しさん (アウアウウー Sab5-4hJQ)
2021/04/29(木) 19:07:29.38ID:k0BuRVHXa523デフォルトの名無しさん (ワッチョイ d98e-iMGS)
2021/04/29(木) 19:41:36.50ID:gMCbhKMx0524デフォルトの名無しさん (ワッチョイ 4e10-mEE2)
2021/04/29(木) 19:42:12.84ID:I+JPieVz0525デフォルトの名無しさん (ワッチョイ fe68-uCoU)
2021/04/29(木) 19:53:50.93ID:aGUEXGqc0 フラッシュメモリーに保存してるけどそれも壊れるかもしれないし
526デフォルトの名無しさん (ワッチョイ 1e01-bfA/)
2021/04/29(木) 20:04:58.52ID:Z9k/ziJ20 だからグーグルのクラウドにでも保存しとけよ
527デフォルトの名無しさん (ワッチョイ d98e-iMGS)
2021/04/29(木) 21:46:03.77ID:gMCbhKMx0 >>525
馬鹿は帰れ
馬鹿は帰れ
528デフォルトの名無しさん (アウアウエー Sa6a-rcSs)
2021/04/29(木) 21:47:52.03ID:qBmeMAVZa >>525
VBAより先に勉強すべきことがある
VBAより先に勉強すべきことがある
529デフォルトの名無しさん (ワッチョイ a868-8KU9)
2021/04/29(木) 21:57:15.15ID:r4t8KOvl0530デフォルトの名無しさん (ワッチョイ c7cc-TNk6)
2021/04/30(金) 00:10:52.82ID:G7lq05sG0 これを短く書きたいのですが、どう書けばいいですか?
Range(Cells(r, 1),Cells(r, 10)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.CurrentRegion.Borders.LineStyle = xlContinuous
Range(Cells(r, 1),Cells(r, 10)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.CurrentRegion.Borders.LineStyle = xlContinuous
531デフォルトの名無しさん (ワッチョイ 7fda-OedE)
2021/04/30(金) 00:13:18.87ID:1H39I5ca0 >>520
カセットテープに保存しとけよ
カセットテープに保存しとけよ
532デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/04/30(金) 00:38:44.27ID:XMOC9xEV0 >>530
やりたいことは
Range(Cells(r, 1),Cells(r, 10))
・・・
Range(Cells(r, 11),Cells(r, 20)
みたいなこと?
全容を見せてくれたほうが早いと思う。
やりたいことは
Range(Cells(r, 1),Cells(r, 10))
・・・
Range(Cells(r, 11),Cells(r, 20)
みたいなこと?
全容を見せてくれたほうが早いと思う。
533デフォルトの名無しさん (ワッチョイ 2701-3faj)
2021/04/30(金) 02:19:19.76ID:zq+mlYyf0 >>530
やりたいことを言葉で説明した方が速そう
やりたいことを言葉で説明した方が速そう
534デフォルトの名無しさん (ワッチョイ 2701-3faj)
2021/04/30(金) 02:34:26.19ID:zq+mlYyf0535デフォルトの名無しさん (ワッチョイ bfba-t5YL)
2021/04/30(金) 02:53:52.43ID:sRtBXBMU0 Excelのマクロをエクセル環境なしに実行したいのですが、
vbsをつかえばExcelは不要ですか?
vbsをつかえばExcelは不要ですか?
536デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/04/30(金) 03:01:21.54ID:XMOC9xEV0537デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/04/30(金) 03:02:27.11ID:XMOC9xEV0538デフォルトの名無しさん (ワッチョイ bfba-t5YL)
2021/04/30(金) 03:04:35.08ID:sRtBXBMU0539デフォルトの名無しさん (ワッチョイ 2701-3faj)
2021/04/30(金) 03:23:39.09ID:zq+mlYyf0 vbsは型宣言が出来ない、
VBAで可能なライブラリ参照が出来ない、
暗黙の参照先等の違いがる
それらを使用していないコードなら実行出来る可能性がある
(要するに簡単にはいかない)
正直「みんな入れてるであろうエクセルで実行できる」っていうただ一つのメリットのみを目的ににして
わざわざ使いにくいVBAを仕方なしに許容してるのであって、
エクセル不要ならPythonなりJSなりC#で書くべき
VBAで可能なライブラリ参照が出来ない、
暗黙の参照先等の違いがる
それらを使用していないコードなら実行出来る可能性がある
(要するに簡単にはいかない)
正直「みんな入れてるであろうエクセルで実行できる」っていうただ一つのメリットのみを目的ににして
わざわざ使いにくいVBAを仕方なしに許容してるのであって、
エクセル不要ならPythonなりJSなりC#で書くべき
540デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/04/30(金) 03:29:54.28ID:XMOC9xEV0 >>538
内容による
vbsとvbaは似て非なるもの、だけど互換性はまぁまぁある
vbaをまるっとvbsにコピペして動くものもあれば、手直ししないと動かないもの、絶対に無理なものもある
まぁコピーペーストだけで一発で動くのは稀だとは思う。大体動かないだろう
また、vbsは無料でwindowsに標準でついているので、あーだこーだ言うよりはやったほうが早い
内容による
vbsとvbaは似て非なるもの、だけど互換性はまぁまぁある
vbaをまるっとvbsにコピペして動くものもあれば、手直ししないと動かないもの、絶対に無理なものもある
まぁコピーペーストだけで一発で動くのは稀だとは思う。大体動かないだろう
また、vbsは無料でwindowsに標準でついているので、あーだこーだ言うよりはやったほうが早い
541デフォルトの名無しさん (ワッチョイ 2701-3faj)
2021/04/30(金) 03:37:12.82ID:zq+mlYyf0 >>536
貼ってくれたURLのページにある
>String型変数のメモリアドレス
これ、要するにString型変数の値は参照値って事?
察してはいたけどByval xxx$って嘘じゃん
調べれば調べるほど無茶苦茶な言語だなw
ただ先頭に配列長が入ってるのは嬉しいな
LEN関数が高速だって事だし、実際に検証したらそうだった
これからは文字列の有無はLEN関数を使おう
貼ってくれたURLのページにある
>String型変数のメモリアドレス
これ、要するにString型変数の値は参照値って事?
察してはいたけどByval xxx$って嘘じゃん
調べれば調べるほど無茶苦茶な言語だなw
ただ先頭に配列長が入ってるのは嬉しいな
LEN関数が高速だって事だし、実際に検証したらそうだった
これからは文字列の有無はLEN関数を使おう
542デフォルトの名無しさん (JP 0Hcb-OedE)
2021/04/30(金) 04:58:51.13ID:VHqB9FfdH >>534
MSDNのWin32APIのリファレンス
https://docs.microsoft.com/en-us/windows/win32/api/oaidl/ns-oaidl-variant
これを見れば、Valiant構造体は共用体の入った構造体が共用体になってることが一目瞭然
VBAからは、初期化の手順を省略(自動化)したりして簡単に使えるようにしてある
MSDNのWin32APIのリファレンス
https://docs.microsoft.com/en-us/windows/win32/api/oaidl/ns-oaidl-variant
これを見れば、Valiant構造体は共用体の入った構造体が共用体になってることが一目瞭然
VBAからは、初期化の手順を省略(自動化)したりして簡単に使えるようにしてある
543デフォルトの名無しさん (ワッチョイ df05-uN1F)
2021/04/30(金) 06:01:15.47ID:w8M9C8im0 Dim abc As Variant, maxVal Variant
abc = Range("A1:A100")
・
・
・
maxVal = WorksheetFunction.Max(abc(50 To 80, 1))
これはabc(50 To 80, 1)の部分でコンパイルエラーになりますが、
このように一発で配列内の特定の範囲の値を取得することはできますか?
やはりFor〜Nextで回してやらないと駄目でしょうか?
abc = Range("A1:A100")
・
・
・
maxVal = WorksheetFunction.Max(abc(50 To 80, 1))
これはabc(50 To 80, 1)の部分でコンパイルエラーになりますが、
このように一発で配列内の特定の範囲の値を取得することはできますか?
やはりFor〜Nextで回してやらないと駄目でしょうか?
544デフォルトの名無しさん (JP 0Hcb-OedE)
2021/04/30(金) 06:19:01.47ID:VHqB9FfdH545デフォルトの名無しさん (テテンテンテン MM8f-m/Zw)
2021/04/30(金) 07:04:01.89ID:M0On9wgSM >>541
> 察してはいたけどByval xxx$って嘘じゃん
噓じゃねーよ、Byvalならちゃんとコピーされる(内部的には新規領域確保して内容コピー)
> 調べれば調べるほど無茶苦茶な言語だなw
お前さんの理解力が足らんだけ
> 察してはいたけどByval xxx$って嘘じゃん
噓じゃねーよ、Byvalならちゃんとコピーされる(内部的には新規領域確保して内容コピー)
> 調べれば調べるほど無茶苦茶な言語だなw
お前さんの理解力が足らんだけ
546デフォルトの名無しさん (JP 0Hcb-OedE)
2021/04/30(金) 07:57:01.95ID:VHqB9FfdH メモリ上で文字列領域の先頭に長さが入ってるのはMicrosoft BASICの伝統
C言語などで使われる\x00で区切る方式だと文字列の中にChr$(&h00)を入れられなくなるので地味に面倒だった
C言語などで使われる\x00で区切る方式だと文字列の中にChr$(&h00)を入れられなくなるので地味に面倒だった
547デフォルトの名無しさん (ワッチョイ 8768-YF1U)
2021/04/30(金) 09:18:44.82ID:XMOC9xEV0 だから、有限なんですね
548デフォルトの名無しさん (アウアウウー Saab-5hFs)
2021/04/30(金) 09:53:25.08ID:JEk9gHJMa 改行しろよ、読みにくいだろ
549デフォルトの名無しさん (ワッチョイ df05-uN1F)
2021/04/30(金) 10:28:11.61ID:8Lrh8uSx0550デフォルトの名無しさん (アウアウウー Saab-qkI6)
2021/04/30(金) 10:56:55.90ID:S41gzW82a WorksheetFunctionってその名の通りワークシート上の計算をするためのものだから仕方ないわな
551デフォルトの名無しさん (ワッチョイ 672f-uN1F)
2021/04/30(金) 13:14:51.01ID:lXELEtlJ0552デフォルトの名無しさん (JP 0Hcb-OedE)
2021/04/30(金) 13:46:28.53ID:VHqB9FfdH553デフォルトの名無しさん (ブーイモ MMcf-solw)
2021/04/30(金) 13:52:18.51ID:4gSq67JmM 質問者を納得させるのではなく
自分の知識をドヤ顔で披露する場がこのスレ
自分の知識をドヤ顔で披露する場がこのスレ
554デフォルトの名無しさん (ラクッペペ MM8f-HlUj)
2021/04/30(金) 13:55:12.85ID:clFaH4DRM 古代BASIC語の使えるやつには想像すらできない構文だな
ナウい言語から入るとこんな発想が出来るのか
Enumeraterとか作ってもコールバック関数書くのが面倒くさいからどうしようもないよね
ナウい言語から入るとこんな発想が出来るのか
Enumeraterとか作ってもコールバック関数書くのが面倒くさいからどうしようもないよね
555デフォルトの名無しさん (ワッチョイ df4f-U2UV)
2021/04/30(金) 14:11:06.28ID:lUzIA11U0 10 CONSOLE 0,25,0,1
20 SCRERN 0,0
20 SCRERN 0,0
556デフォルトの名無しさん (ワッチョイ 7fda-PU2s)
2021/04/30(金) 14:13:33.94ID:1H39I5ca0557デフォルトの名無しさん (スップ Sdff-PTVc)
2021/04/30(金) 16:19:17.86ID:W9vsivKyd sheet1のB1が整数ならSheet2のC1
にSheet1のB1の整数をSheet2のC1に
表示し
Sheet1のB1が整数でない場合は
Sheet2のC1にSheet1のA1の整数を表示
させたいのですが、インデックス範囲エラーになったりして困ってます
Numeric関数なのはわかるんですが
標準モジュールに書くのか
Sheet1に書くのかわかりません
ご教授ください
Private Sub Worksheet_Change(ByVal Taget as Range)
If IsNumeric(Worksheets("1").Range)
にSheet1のB1の整数をSheet2のC1に
表示し
Sheet1のB1が整数でない場合は
Sheet2のC1にSheet1のA1の整数を表示
させたいのですが、インデックス範囲エラーになったりして困ってます
Numeric関数なのはわかるんですが
標準モジュールに書くのか
Sheet1に書くのかわかりません
ご教授ください
Private Sub Worksheet_Change(ByVal Taget as Range)
If IsNumeric(Worksheets("1").Range)
558デフォルトの名無しさん (アウアウウー Saab-qkI6)
2021/04/30(金) 16:51:06.75ID:S41gzW82a559デフォルトの名無しさん (スップ Sdff-PTVc)
2021/04/30(金) 17:19:44.60ID:W9vsivKyd Sheet1にコードを書いてます
560デフォルトの名無しさん (ワッチョイ e701-jEDI)
2021/04/30(金) 19:10:46.17ID:qIU2nW870 そもそもnumericって整数かどうかじゃなくて
数字かどうかの判定じゃなかったか?
数字かどうかの判定じゃなかったか?
561デフォルトの名無しさん (ワッチョイ e701-jEDI)
2021/04/30(金) 19:11:19.57ID:qIU2nW870 あとrangeじゃなくてtargetやろ
562デフォルトの名無しさん (ワッチョイ e701-jEDI)
2021/04/30(金) 19:12:09.12ID:qIU2nW870 あっrangeであってたわ
range(target.address)かな
range(target.address)かな
563デフォルトの名無しさん (ワッチョイ 7fda-OedE)
2021/04/30(金) 19:13:35.28ID:1H39I5ca0564デフォルトの名無しさん (スップ Sdff-PTVc)
2021/04/30(金) 19:48:53.26ID:W9vsivKyd Sheet1のB1の値が変化したらSheet2のC1が変化させたいのでSheet1にコードを書いてチェンジイベントでいいのかな?
むずかしいですね
むずかしいですね
565デフォルトの名無しさん (ワッチョイ 2701-3faj)
2021/04/30(金) 21:15:34.30ID:zq+mlYyf0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- 無期懲役ってマジでキツくね???
- 上原浩治さん「松井さんが大谷翔平のスイングをしてたらもっとHR打ってた」
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
