!extend:checked:vvvvv:1000:512
スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
※前スレ
Excel VBA 質問スレ Part49©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1498410914/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part50 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 7e6d-ffY6)
2017/08/27(日) 12:40:17.57ID:LjjEWylk0325デフォルトの名無しさん (ワッチョイ 06bf-ufUr)
2017/09/23(土) 18:38:13.30ID:6qmI5T+w0326デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/23(土) 19:18:36.34ID:paUCbsLX0 >>324-325
特定の状況では結果が異なるから完全に同一ではないけどな
Sub test()
Dim eof As Variant
eof = Null
Do Until eof
MsgBox "Untilを実行した"
Exit Do
Loop
Do While Not eof
MsgBox "While実行した"
Exit Do
Loop
End Sub
eofがTrue/Falseしかないなら同じ動作だけど、そのどっちでもない場合は同じ動作するとは限らん
Null扱うなら覚えておかないとはまるぞ
特定の状況では結果が異なるから完全に同一ではないけどな
Sub test()
Dim eof As Variant
eof = Null
Do Until eof
MsgBox "Untilを実行した"
Exit Do
Loop
Do While Not eof
MsgBox "While実行した"
Exit Do
Loop
End Sub
eofがTrue/Falseしかないなら同じ動作だけど、そのどっちでもない場合は同じ動作するとは限らん
Null扱うなら覚えておかないとはまるぞ
327デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/23(土) 19:31:29.38ID:ljq3IKQ50 Notはビット反転だから真偽値以外だと挙動が変わるわな。
Nullは色んな判定を挟む前にFalseを返す仕組みのはずだから、また問題が違うような気もするけど。
Nullは色んな判定を挟む前にFalseを返す仕組みのはずだから、また問題が違うような気もするけど。
328デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/23(土) 19:56:35.16ID:paUCbsLX0329デフォルトの名無しさん (ワッチョイ 4ab3-UH40)
2017/09/23(土) 20:57:28.95ID:hvHU1vjm0 >引数 condition は偽 (False) であるとみなされます。
自分で答えを書いているように思うが。
自分で答えを書いているように思うが。
330デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/23(土) 21:10:26.95ID:ljq3IKQ50 俺が「Falseを返す」と表現したのが悪かったな。
「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
331デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/23(土) 21:13:02.41ID:dWsmcDp10 関係ないけど Not 1 が False 扱いにならないのは地味に不便だ
332デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/23(土) 22:09:48.51ID:paUCbsLX0333デフォルトの名無しさん (ワッチョイ 466d-uAR+)
2017/09/23(土) 22:56:39.62ID:7cmO2hJI0 vbaとExcelで数値とbooleanの変換が変わるのは怖い
334デフォルトの名無しさん (ワッチョイ 238f-PvnN)
2017/09/24(日) 00:06:38.99ID:CZiBIXmW0 きっと〜、あなたは もどってくるだろぅをー
335デフォルトの名無しさん (ワッチョイ af8b-bXGz)
2017/09/24(日) 02:19:39.33ID:3BjqQEbI0 ハイ戻ってきましたぁ!
また調子こいた教えたがりがしゃしゃってんのか?
バカはどいつだ?
また調子こいた教えたがりがしゃしゃってんのか?
バカはどいつだ?
336デフォルトの名無しさん (イモイモ Se66-Dc1X)
2017/09/24(日) 03:07:22.68ID:2VO5tOtwe ∧_∧
( ´・ω・)
( つ旦O
と_)_)
( ´・ω・)
( つ旦O
と_)_)
337デフォルトの名無しさん (ワッチョイ 2b8f-z8ZY)
2017/09/24(日) 08:32:58.01ID:wIEwKcgM0 >>331
Not 1と書くシーンがわからんが、素直に(?)Not TrueとかFalse とか書けば?
Not 1と書くシーンがわからんが、素直に(?)Not TrueとかFalse とか書けば?
338デフォルトの名無しさん (ワッチョイ eb6f-Dc1X)
2017/09/24(日) 08:50:08.02ID:y7FzpsGf0 ドイツの技術は世界一ィィィ
339デフォルトの名無しさん (ワッチョイ 466d-PvnN)
2017/09/24(日) 08:51:55.94ID:sE41CGP30 Not Trueは新しいな
340デフォルトの名無しさん (ワッチョイ 466d-2rpO)
2017/09/24(日) 08:53:02.43ID:sE41CGP30 ツール→参照設定で全てを参照する方法はありますか?
341デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 09:43:55.42ID:SDtHFGLja >>314
ここで言われてる初心者ってのは殆どの場合、他の言語も初心者ってことだぞ。
技術的に初心者だから初心者と呼ばれてる訳じゃない。
自分の画面を見ることが出来ない相手にも伝わるように書くとか、条件を小出しにするとか、相手をロボットか何かと勘違いしてるような初心者以前の問題が有るから否定的な意味で初心者と言われてる。
それにVBAを片手間とか簡単に言うのもどうなんかね?
あまり使ったこと無い奴ほどそういうこと言ってるような気がするね。
内容が何ーつ無くて罵倒しか出来ない初心者君の真価が問われてる。
ここで言われてる初心者ってのは殆どの場合、他の言語も初心者ってことだぞ。
技術的に初心者だから初心者と呼ばれてる訳じゃない。
自分の画面を見ることが出来ない相手にも伝わるように書くとか、条件を小出しにするとか、相手をロボットか何かと勘違いしてるような初心者以前の問題が有るから否定的な意味で初心者と言われてる。
それにVBAを片手間とか簡単に言うのもどうなんかね?
あまり使ったこと無い奴ほどそういうこと言ってるような気がするね。
内容が何ーつ無くて罵倒しか出来ない初心者君の真価が問われてる。
342デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 09:51:58.93ID:gFeQddMX0343デフォルトの名無しさん (ワッチョイ 2b8f-z8ZY)
2017/09/24(日) 10:06:08.42ID:wIEwKcgM0 >>339
ワシにとって Not 1はNot true程度には奇抜や
ワシにとって Not 1はNot true程度には奇抜や
344デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 10:11:23.30ID:gFeQddMX0 Not 1 は普通に使うけど?
LSB だけ変更したい時とか
LSB だけ変更したい時とか
345デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 10:26:12.50ID:J5lzydll0 「Not 1」と直接書くわけじゃなくて0/1を返す関数の返り値に対してのことだろ
346デフォルトの名無しさん (スププ Sdaa-z8ZY)
2017/09/24(日) 10:29:39.61ID:D9ok3B4cd347デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 11:00:50.23ID:gFeQddMX0348デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 11:49:34.08ID:SDtHFGLja349デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 12:09:02.98ID:gFeQddMX0 >>348
スッカスカの内容あるとか言われてもなぁ w
スッカスカの内容あるとか言われてもなぁ w
350デフォルトの名無しさん (ワッチョイ 466d-PvnN)
2017/09/24(日) 12:51:48.98ID:sE41CGP30 >>349
君のレスには内容ないけど、Sa6b-XzByは内容のあるレスをし続けているぞ
君のレスには内容ないけど、Sa6b-XzByは内容のあるレスをし続けているぞ
351デフォルトの名無しさん (ドコグロ MMc2-gXon)
2017/09/24(日) 13:05:01.11ID:/081jZZtM352デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 13:52:50.28ID:SDtHFGLja353デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 15:19:23.40ID:gFeQddMX0 >>352
いったいお前は誰と戦ってるんだよ w
いったいお前は誰と戦ってるんだよ w
354デフォルトの名無しさん (ワッチョイ af8b-bXGz)
2017/09/24(日) 15:25:16.48ID:3BjqQEbI0 このバカよっぽど悔しかったんだなw
支離滅裂だけど悔しさだけは痛い程伝わるよ ID:SDtHFGLjaくん
だが俺にバカを嘲笑うのをやめろと言うのは土台無理な話だ
だってバカは面白いんだものw
これくらいはその小さな脳ミソでも理解出来るよね?おバカさんw
支離滅裂だけど悔しさだけは痛い程伝わるよ ID:SDtHFGLjaくん
だが俺にバカを嘲笑うのをやめろと言うのは土台無理な話だ
だってバカは面白いんだものw
これくらいはその小さな脳ミソでも理解出来るよね?おバカさんw
355デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 16:43:54.18ID:vk2rgPVS0 この罵倒しかしないヤツはVBAコードの一つも読めないのに何年も前から張り付いている本当の意味での異常者で、
どうも現実の生活で誰にも構ってもらえないからネットで罵倒を繰り返してレスポンスをもらって喜んでいるみたいなので、
各員は餌を与えないでください。いつまでも無意味なレスがついて荒れるだけです。
対策として「晒したコードに対し具体的なコードをつけて指摘しているもの以外は相手にしない」っていうテンプレでも追加してほしい。
どうも現実の生活で誰にも構ってもらえないからネットで罵倒を繰り返してレスポンスをもらって喜んでいるみたいなので、
各員は餌を与えないでください。いつまでも無意味なレスがついて荒れるだけです。
対策として「晒したコードに対し具体的なコードをつけて指摘しているもの以外は相手にしない」っていうテンプレでも追加してほしい。
356デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 16:48:20.79ID:jWeMnfEta357デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 16:53:01.46ID:jWeMnfEta358デフォルトの名無しさん (ワッチョイ 466d-NfCk)
2017/09/24(日) 16:54:20.86ID:sE41CGP30359デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 16:59:29.20ID:J5lzydll0 そんなことより、
0以外の数値をTrue扱いしたいのに、
If Not x が IfNot (x)じゃなくて If (Not x) なのが非常によろしくない
0以外の数値をTrue扱いしたいのに、
If Not x が IfNot (x)じゃなくて If (Not x) なのが非常によろしくない
360デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 17:04:51.18ID:J5lzydll0361デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 17:05:32.05ID:jWeMnfEta >>358
コメントの代わりに
#If 0 Then
は昔よく使ってたなあ。
最近は全く使わなくなった。
Not 1もNot TrueもIf -1 Thenも使ったこと無いな。
こういうのはその人の趣味というか癖みたいな問題だわな。
どれが良いとか悪いとかの問題じゃない。
コメントの代わりに
#If 0 Then
は昔よく使ってたなあ。
最近は全く使わなくなった。
Not 1もNot TrueもIf -1 Thenも使ったこと無いな。
こういうのはその人の趣味というか癖みたいな問題だわな。
どれが良いとか悪いとかの問題じゃない。
362デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 17:08:48.88ID:vk2rgPVS0 しかし言うほど
If Not [Integer] Then
という書き方をするだろうか?
If Not Book Is Nothing Then
みたいな書き方はするけど、数値でNot使う事自体あんまりない気がする。
If Not [Integer] Then
という書き方をするだろうか?
If Not Book Is Nothing Then
みたいな書き方はするけど、数値でNot使う事自体あんまりない気がする。
363デフォルトの名無しさん (ワッチョイ a71e-NQgr)
2017/09/24(日) 17:09:54.28ID:3B64fACL0 MS系のBASICはずっと昔から「0」と「0以外」で真偽を判定するから、論理式では1もNot 1もありえない
もちろん-1なんかも使わない
俺の知る限り、約40年前に発売されたN-BASICの時代からこの仕様は変わってない
もちろん-1なんかも使わない
俺の知る限り、約40年前に発売されたN-BASICの時代からこの仕様は変わってない
364デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:11:40.94ID:gFeQddMX0365デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:14:57.98ID:gFeQddMX0366デフォルトの名無しさん (ワッチョイ 466d-NfCk)
2017/09/24(日) 17:20:20.54ID:sE41CGP30367デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:29:04.13ID:gFeQddMX0 >>330
> 「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
ところがどっこい
If 2 Or Null Then 〜 Else 〜 End If
は True (と言うか整数の2)と評価されたりするんだな
0 Or Null は Null になるとか挙動が読めないけど
@Excel 2013
> 「Nullが含まれる式は必ずFalseとして判定される」と書かなきゃいけなかった。
ところがどっこい
If 2 Or Null Then 〜 Else 〜 End If
は True (と言うか整数の2)と評価されたりするんだな
0 Or Null は Null になるとか挙動が読めないけど
@Excel 2013
368デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 17:29:31.46ID:jWeMnfEta369デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:30:59.09ID:gFeQddMX0 >>366
True ならわかるけどFalseが0以外の言語ってあったっけ?
True ならわかるけどFalseが0以外の言語ってあったっけ?
370デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 17:34:26.89ID:gFeQddMX0371デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 17:38:18.30ID:jWeMnfEta372デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 18:38:38.48ID:yAXo7hpi0 >>358
だろうな。ワシも書いたの初めてや。そのレベルの奇抜さって事。
だろうな。ワシも書いたの初めてや。そのレベルの奇抜さって事。
373デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 18:50:18.13ID:J5lzydll0 isSomeStatusが整数を返す関数のとき
If isSomeStatus(x) Then 〜
を使ってて、つい
If Not isSomeStatus(x) Then 〜
と書いてしまうことはない?
If isSomeStatus(x) Then 〜
を使ってて、つい
If Not isSomeStatus(x) Then 〜
と書いてしまうことはない?
374デフォルトの名無しさん (ワッチョイ af8b-lQLN)
2017/09/24(日) 18:54:12.91ID:3BjqQEbI0375デフォルトの名無しさん (ワッチョイ 8a11-gXon)
2017/09/24(日) 20:10:34.74ID:gFeQddMX0 >>373
> isSomeStatusが整数を返す関数のとき
なら
> If isSomeStatus(x) Then 〜
なんて書かないで
If isSomeStatus(x) <> 0 Then 〜
って書く
> isSomeStatusが整数を返す関数のとき
なら
> If isSomeStatus(x) Then 〜
なんて書かないで
If isSomeStatus(x) <> 0 Then 〜
って書く
376デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 20:15:55.53ID:yAXo7hpi0377デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 20:21:50.61ID:vk2rgPVS0 使ってるうちに関数の返値型は暗記するし、そもそも一度は確認するだろうから、
真偽値以外でNotをうっかり使うというケースはあんまりなさそう。
というかうっかりNot 整数をやっちゃったぜって事ならイミディエイトウィンドウで確認する癖を付けた方がいいと思う。
真偽値以外でNotをうっかり使うというケースはあんまりなさそう。
というかうっかりNot 整数をやっちゃったぜって事ならイミディエイトウィンドウで確認する癖を付けた方がいいと思う。
378デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 20:22:09.47ID:J5lzydll0 >>375-376
なるほど
なるほど
379デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 20:25:18.45ID:J5lzydll0 組み込みの Is〜 が As Boolean になっているけど
自分の Is〜 は As Long にしたくてそうしてるんだけど、返り値を受けた時の書き方を
統一的に扱えないのが悩みの種なんですよね...
自分の Is〜 は As Long にしたくてそうしてるんだけど、返り値を受けた時の書き方を
統一的に扱えないのが悩みの種なんですよね...
380デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 20:48:20.98ID:yAXo7hpi0 >>379
それは(失礼を承知で言えば、)ネーミングにセンスが無い。isほにゃららFunctionはBooleanに統一すべし。
それは(失礼を承知で言えば、)ネーミングにセンスが無い。isほにゃららFunctionはBooleanに統一すべし。
381デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:04:44.94ID:J5lzydll0382デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/24(日) 21:06:12.98ID:vk2rgPVS0 同じ関数名で宣言するとユーザー定義関数の方が優先されるはずだから、
いっそ組み込み系のIs〜を全て再定義してしまえばいいのではないだろうか。
いっそ組み込み系のIs〜を全て再定義してしまえばいいのではないだろうか。
383デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:12:51.54ID:J5lzydll0 もちろん「Isなんちゃら〜」の返り値を合計した後で -1 をかければいいんだけど、
Trueが-1であることに依存するのもなんかこう、しっくりこないんですよね。
Trueが-1であることに依存するのもなんかこう、しっくりこないんですよね。
384デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 21:15:05.28ID:yAXo7hpi0 >>381
うむ、気持ちはわからないでは無いがそれは駄目だ。関数名cntなんとかとかnumなんとかとか「〜の数を返す」ヤツらルールを決めて統一すべし。
うむ、気持ちはわからないでは無いがそれは駄目だ。関数名cntなんとかとかnumなんとかとか「〜の数を返す」ヤツらルールを決めて統一すべし。
385デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 21:18:21.48ID:yAXo7hpi0 >>383
-1をかける、とかそんな言語仕様に強く依存する(グロテスクな)コーディングはしないほうが良いと思わない?
-1をかける、とかそんな言語仕様に強く依存する(グロテスクな)コーディングはしないほうが良いと思わない?
386デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:18:39.00ID:J5lzydll0387デフォルトの名無しさん (ワッチョイ 238f-z8ZY)
2017/09/24(日) 21:24:09.04ID:yAXo7hpi0388デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/24(日) 21:26:50.23ID:J5lzydll0 いや、
大改造はわくわくする
大改造はわくわくする
389デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:16:54.54ID:SDtHFGLja >>374
小学生に罵倒されれば誰でも頭に来る。
内容が無ければ尚更だ。
それに、小学生はきちんと躾ける主義でね。
バカにはちゃんとバカと言うべきなんだ。
質問に関係無いことしか書かないバカが人に対してここに来るななどと言う資格があるわけ無いだろう。
そんなことも分からないから小学生と呼ばれるんだ。
小学生に罵倒されれば誰でも頭に来る。
内容が無ければ尚更だ。
それに、小学生はきちんと躾ける主義でね。
バカにはちゃんとバカと言うべきなんだ。
質問に関係無いことしか書かないバカが人に対してここに来るななどと言う資格があるわけ無いだろう。
そんなことも分からないから小学生と呼ばれるんだ。
390デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:20:23.66ID:SDtHFGLja391デフォルトの名無しさん (ワッチョイ af8b-Ncsu)
2017/09/24(日) 22:24:54.53ID:3BjqQEbI0392デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:29:18.40ID:SDtHFGLja 元の引数の値に合計を入れて返しちゃうのはさすがに変な気がするけど。
393デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/24(日) 22:30:18.80ID:SDtHFGLja394デフォルトの名無しさん (ワッチョイ af8b-Ncsu)
2017/09/24(日) 22:39:03.86ID:3BjqQEbI0395デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/24(日) 22:52:38.60ID:z5Fx3/zG0 誰か助けてください。
今日一日かけて作ったマクロが、先程エクセルがクラッシュしてしまい自動修復が働き、マクロだけ消失してしまいました。
クラッシュ直後のxlsmファイルをZIPにして「vbaProject.bin」を取り出したりは出来たのですが、
新しいxlsmに取り込んでもやっぱり開くと修復で消えてしまうようで・・・
何とかしてソースコードを取り出すことはできないでしょうか・・。
今日一日かけて作ったマクロが、先程エクセルがクラッシュしてしまい自動修復が働き、マクロだけ消失してしまいました。
クラッシュ直後のxlsmファイルをZIPにして「vbaProject.bin」を取り出したりは出来たのですが、
新しいxlsmに取り込んでもやっぱり開くと修復で消えてしまうようで・・・
何とかしてソースコードを取り出すことはできないでしょうか・・。
396デフォルトの名無しさん (アークセー Sxa3-ZMJA)
2017/09/24(日) 23:42:55.80ID:ALrIElNwx 一日で作れるマクロなら大した分量じゃないだろうしもう一回同じコードを組めば良いんじゃね
397デフォルトの名無しさん (ワッチョイ eb6f-Dc1X)
2017/09/24(日) 23:52:01.97ID:y7FzpsGf0398デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/24(日) 23:53:04.05ID:z5Fx3/zG0399デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/25(月) 00:00:34.87ID:vsx3Rgi+0400デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/25(月) 00:01:40.54ID:AH/NDHtT0 >>398
確かにエクセルは保存をかけても終了するまで保存しないんだよな。たぶんXML形式にして保存する関係からだとは思うけど。
自動バックアップからなら修復の可能性はあるけど、マクロだけ消えたならそのファイル自体は元々マクロ書く前の状態なんじゃないかな。
確かにエクセルは保存をかけても終了するまで保存しないんだよな。たぶんXML形式にして保存する関係からだとは思うけど。
自動バックアップからなら修復の可能性はあるけど、マクロだけ消えたならそのファイル自体は元々マクロ書く前の状態なんじゃないかな。
401デフォルトの名無しさん (ワッチョイ 4ab3-UH40)
2017/09/25(月) 00:02:16.67ID:Ch3TwtIS0 あはは、俺なんかそんなのしょっちゅうだぜW
ノリノリで良さげなコードが書けてる時に限って突然落ちやがるWW
もうね、マメに保存する癖を付けないとどうにもならないよね
ノリノリで良さげなコードが書けてる時に限って突然落ちやがるWW
もうね、マメに保存する癖を付けないとどうにもならないよね
402デフォルトの名無しさん (ワッチョイ 06e4-vS2A)
2017/09/25(月) 00:05:47.41ID:PaZojpJN0 >>367
Orのヘルプに書いてある通り
True Or Null はTrue
False Or Null はNull
で、
CBool(2)はTrue
CBool(0)はFalse
なので、仕様通りの動作ではある
Orはどちらかが真なら真なので、片方が不定でも真だという理屈だな
ショートサーキットしないくせにな
どちらかが偽なら、もう片方に従うから、もう片方が不定なら不定
まあ、理屈として考えれば納得はできる
Orのヘルプに書いてある通り
True Or Null はTrue
False Or Null はNull
で、
CBool(2)はTrue
CBool(0)はFalse
なので、仕様通りの動作ではある
Orはどちらかが真なら真なので、片方が不定でも真だという理屈だな
ショートサーキットしないくせにな
どちらかが偽なら、もう片方に従うから、もう片方が不定なら不定
まあ、理屈として考えれば納得はできる
403デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/25(月) 00:07:49.88ID:kbDcK8g50 >>396
朝から書き続けてたから1000行以上ある。かなりつらい。
何度同じような書いてもクラッシュするので原因を調査していたのですが、判明したので報告します。
Windows10 / Excel 2016
1.一番最初のコーディング中にクラッシュした原因
※そもそも取得のために引数にした配列を直接書き換えようとするのが間違いか。
↓下記変数を関数で生成
Dim fl() as string
call GetFileList(fl)
-----
function GetFileList(ByRef fl() as string)
Redim fl(1 to 123,1 to 1)
end function
-----
↓この構文を入力してEnter押すと必ずエクセルがクラッシュする。
ReDim Preserve fl(, 1 To 2)
↓正しいコード。これならクラッシュしない。
ReDim Preserve fl(LBound(fl) To UBound(fl), 1 To 2)
次レスへ続く
朝から書き続けてたから1000行以上ある。かなりつらい。
何度同じような書いてもクラッシュするので原因を調査していたのですが、判明したので報告します。
Windows10 / Excel 2016
1.一番最初のコーディング中にクラッシュした原因
※そもそも取得のために引数にした配列を直接書き換えようとするのが間違いか。
↓下記変数を関数で生成
Dim fl() as string
call GetFileList(fl)
-----
function GetFileList(ByRef fl() as string)
Redim fl(1 to 123,1 to 1)
end function
-----
↓この構文を入力してEnter押すと必ずエクセルがクラッシュする。
ReDim Preserve fl(, 1 To 2)
↓正しいコード。これならクラッシュしない。
ReDim Preserve fl(LBound(fl) To UBound(fl), 1 To 2)
次レスへ続く
404デフォルトの名無しさん (ワッチョイ 3bb1-Dc1X)
2017/09/25(月) 00:12:44.30ID:kbDcK8g50 >>403
2.クラッシュした後にマクロが消失した理由
とあるモジュール(*.bas)を取り込むと、上書き保存は問題なくできるのだが次回ブックを開いた時必ず「vbaProject.bin」が消失することが判明した。
クラッシュしなくなるまでの手順
@新規エクセルブックに移行
Aインポートしたbasのコードだけをコピーして新規モジュールに貼り付け
B下記のような定数があったので、FileSystemObjectのクラスと競合しないよう別の名前に変更
Enum flGetMode
File = 1
Folder = 2
All = 3
End Enum
↓
Enum flGetMode
flFile = 1
flFolder = 2
flAll = 3
End Enum
>>399
そうだな・・・今度からエクセル落とす前にモジュールだけ取り出すことにするわ。
>>400
エクセル、マジ、怖い EMK
>>401
今回のはマメに保存するというより、ブックを別ファイルにバックアップしないと対処できないかな。
今度から毎時間スナップショット撮るようにするわ
2.クラッシュした後にマクロが消失した理由
とあるモジュール(*.bas)を取り込むと、上書き保存は問題なくできるのだが次回ブックを開いた時必ず「vbaProject.bin」が消失することが判明した。
クラッシュしなくなるまでの手順
@新規エクセルブックに移行
Aインポートしたbasのコードだけをコピーして新規モジュールに貼り付け
B下記のような定数があったので、FileSystemObjectのクラスと競合しないよう別の名前に変更
Enum flGetMode
File = 1
Folder = 2
All = 3
End Enum
↓
Enum flGetMode
flFile = 1
flFolder = 2
flAll = 3
End Enum
>>399
そうだな・・・今度からエクセル落とす前にモジュールだけ取り出すことにするわ。
>>400
エクセル、マジ、怖い EMK
>>401
今回のはマメに保存するというより、ブックを別ファイルにバックアップしないと対処できないかな。
今度から毎時間スナップショット撮るようにするわ
405デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 03:13:19.89ID:eYOvRkV+a406デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 03:21:24.47ID:kQfKGPg6a407デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 03:26:59.82ID:kQfKGPg6a408デフォルトの名無しさん (ワッチョイ 8aaa-Dc1X)
2017/09/25(月) 06:57:33.96ID:vsx3Rgi+0 ExcelがクラッシュするならWord VBAで書けばいいのに
(半分マジ)
(半分マジ)
409デフォルトの名無しさん (ワッチョイ 0a06-hoCt)
2017/09/25(月) 07:18:55.09ID:CDmpdlRb0 >>399
ファイルのエクスポートってのは知ってるけど「モジュールごと」ってのは具体的にどうするんです?
ファイルのエクスポートってのは知ってるけど「モジュールごと」ってのは具体的にどうするんです?
410デフォルトの名無しさん (ワッチョイ 466d-uAR+)
2017/09/25(月) 07:24:22.76ID:dVWzg8Zn0 スプレッドシートで開いてみるとか
ファイル壊れてたらダメ化
ファイル壊れてたらダメ化
411デフォルトの名無しさん (ワッチョイ 06e4-XBbO)
2017/09/25(月) 07:25:07.82ID:5kCjH3U30 >>341
はっきり言おう
VBA自体が間口が広いために初心者が扱い易い言語ではあるが
大きなシステムやWeb系には向いていないために
全体から見れば「VBAの上級者」というのは
所詮井の中の蛙に過ぎない。
自称VBA上級者よりVBAの上級者じゃなくても
JAVAや.Netの知識を多少なりとも持っていて
そっちも出来るという方が基本的に給料が高いというのはそのせい。
つまりここで初心者がどうのと煽っている奴も
所詮は初心者の域を超えていない。
初心者が初心者を煽ってるだけ。
もっとも俺も自分を初心者じゃないなんてとても
おこがましくて言えないけどね。
はっきり言おう
VBA自体が間口が広いために初心者が扱い易い言語ではあるが
大きなシステムやWeb系には向いていないために
全体から見れば「VBAの上級者」というのは
所詮井の中の蛙に過ぎない。
自称VBA上級者よりVBAの上級者じゃなくても
JAVAや.Netの知識を多少なりとも持っていて
そっちも出来るという方が基本的に給料が高いというのはそのせい。
つまりここで初心者がどうのと煽っている奴も
所詮は初心者の域を超えていない。
初心者が初心者を煽ってるだけ。
もっとも俺も自分を初心者じゃないなんてとても
おこがましくて言えないけどね。
412デフォルトの名無しさん (ワッチョイ a71e-NQgr)
2017/09/25(月) 07:25:18.87ID:8Tm148qB0 >>409
VBEのプロジェクトエクスプローラでモジュール名を右クリ
VBEのプロジェクトエクスプローラでモジュール名を右クリ
413デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/25(月) 07:36:56.29ID:VZWzPiEFd >>409
コードのコピペとか右クリからエクスポート(E)...じゃなくて直接ドラッグ&ドロップするの
コードのコピペとか右クリからエクスポート(E)...じゃなくて直接ドラッグ&ドロップするの
414デフォルトの名無しさん (ワッチョイ 466d-RgoO)
2017/09/25(月) 07:48:23.85ID:dVWzg8Zn0 >>411
その話題はもういいよ
その話題はもういいよ
415デフォルトの名無しさん (オッペケ Sra3-Ncsu)
2017/09/25(月) 12:29:49.86ID:nP4bJmmCr416デフォルトの名無しさん (ワントンキン MMfa-GOPe)
2017/09/25(月) 12:51:20.05ID:b3e1p2YsM 403だけど、会社のEXCELでも試してみたらやっぱりクラッシュする
redim aaa(,1 to 2)
まぁコードとしては間違いだから滅多にこんな書き方しないんだけどさ
でも
redim aaa(,1)
なら、ただのエラー(赤字)になるだけでクラッシュしないから納得行かないわ
一応MSには送っておいた。
参考まで。
redim aaa(,1 to 2)
まぁコードとしては間違いだから滅多にこんな書き方しないんだけどさ
でも
redim aaa(,1)
なら、ただのエラー(赤字)になるだけでクラッシュしないから納得行かないわ
一応MSには送っておいた。
参考まで。
417デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 13:08:28.70ID:eYOvRkV+a >>411
JAVAや.netのできる上級者も多いと思うが。
というか、上級者は他の言語もできる奴が多いだろ。
主戦上がどこかというだけだし、そもそも主戦上だって他言語の人もいるだろ。
俺がどうあってもかなわないと思う人はVBA上でアセンブラ使ってるし。
実際、俺も大したレベルじゃないがCやJAVA、.netも書くしアセンブラも勉強中。
VBA使いだからといってレベルが低いわけじゃない。
JAVAや.netのできる上級者も多いと思うが。
というか、上級者は他の言語もできる奴が多いだろ。
主戦上がどこかというだけだし、そもそも主戦上だって他言語の人もいるだろ。
俺がどうあってもかなわないと思う人はVBA上でアセンブラ使ってるし。
実際、俺も大したレベルじゃないがCやJAVA、.netも書くしアセンブラも勉強中。
VBA使いだからといってレベルが低いわけじゃない。
418デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/25(月) 14:27:01.66ID:VZWzPiEFd419デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 16:13:22.32ID:715ByDora >>418
正確にはマシン語だね。
VBAとアセンブラでググれば見つかる。
マシン語のコードを変数に格納してメモリ操作して実行させる。
VBAの制限のために普通じゃ出来ないことをしようとする場合や普通に書くとどうしてもスマートじゃない場合に使う。
個人的に使いたい場面が2つ有るけど技術的に自分のものに出来て無いので使ったことは無いが。
正確にはマシン語だね。
VBAとアセンブラでググれば見つかる。
マシン語のコードを変数に格納してメモリ操作して実行させる。
VBAの制限のために普通じゃ出来ないことをしようとする場合や普通に書くとどうしてもスマートじゃない場合に使う。
個人的に使いたい場面が2つ有るけど技術的に自分のものに出来て無いので使ったことは無いが。
420デフォルトの名無しさん (スップ Sd4a-6FY3)
2017/09/25(月) 20:21:50.79ID:VZWzPiEFd >>419
確かに、ぐぐったらすぐに出てきたw
確かに、ぐぐったらすぐに出てきたw
421デフォルトの名無しさん (ワッチョイ ff3d-hoCt)
2017/09/25(月) 20:57:17.82ID:AH/NDHtT0 俺もマシン語とアセンブラ言語を勉強したなぁ。
早見表片手にバイナリ読むくらいのところまではいけたけど、
実際にメモリに転写して実行するとか手間が多すぎてあきらめたわ。
マシン語もシミュレータでOS作りに挑戦してHello Worldで止まってる。
早見表片手にバイナリ読むくらいのところまではいけたけど、
実際にメモリに転写して実行するとか手間が多すぎてあきらめたわ。
マシン語もシミュレータでOS作りに挑戦してHello Worldで止まってる。
422デフォルトの名無しさん (アウアウカー Sa6b-XBbO)
2017/09/25(月) 21:10:50.83ID:um3WFj5Ia >>419
これは駄目だないろんな意味で
これは駄目だないろんな意味で
423デフォルトの名無しさん (アウアウカー Sa6b-XzBy)
2017/09/25(月) 22:14:52.84ID:715ByDora >>421
VBA上でやる場合はアセンブラが主体じゃなくてVBAで出来ない部分だけに適用するわけだから、アセンブラ自体はそれほど複雑じゃないと思う。
自分の場合は別の言語でmemcmp使ったことがあって、それをVBAに移植する場合に使いたい。
ただ、そのプログラムをVBAで実現する意味が薄いように感じるのと別にmemcmp使わなくても代替あるかもしれないんで実際に組むかどうかは分からないんだけど。
VBA上でやる場合はアセンブラが主体じゃなくてVBAで出来ない部分だけに適用するわけだから、アセンブラ自体はそれほど複雑じゃないと思う。
自分の場合は別の言語でmemcmp使ったことがあって、それをVBAに移植する場合に使いたい。
ただ、そのプログラムをVBAで実現する意味が薄いように感じるのと別にmemcmp使わなくても代替あるかもしれないんで実際に組むかどうかは分からないんだけど。
424デフォルトの名無しさん (スプッッ Sd4a-6FY3)
2017/09/25(月) 22:22:34.05ID:eJeLm77Wd なんでそんなにしてまで?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 【悲報】かつて台湾を統治し中国大陸にまで侵略したジャップ「中国は台湾侵略するのやめろ!」 [616817505]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 【悲報】中国の輸入で生活してるジャップがその中国に戦争吹っ掛ける理由、誰にもわからない😰 [616817505]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
