Excel VBA 質問スレ Part70

■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 22:08:43.71ID:jtngtgXU0
!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
2021/04/25(日) 11:25:35.70ID:kagSPvTda
予約語じゃなく関数名だから大丈夫じゃないかな
ただ、関数を書いたときに頭文字が小文字になったり嫌だから避けるかな
2021/04/25(日) 11:39:20.76ID:4pLy3lS70
>>414
あーそういう心配もあるのね
分かりやすく書いたつもりなんだけど
2021/04/25(日) 11:40:49.20ID:kagSPvTda
試してみると、同一スコープ内だと
Dim day As Long
day = VBA.day(Now())
Debug.Print day
のように関数名を修飾しないとでした
当たり前か
2021/04/25(日) 12:09:23.12ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)
Dim 日付1 As Long Integer, 日付2 As Integer
日付1 = Datesirial(適当に)
日付2 = Datesirial(適当に)

For day = 日付1 To 日付2
Dim R As Long

R = R + 1
Cell(R , "D").Value = day
Next day

End Sub

こんな感じでしょうか?
2021/04/25(日) 12:12:35.21ID:eytlE9OXa
変数に日付1とかやるならdayも日付でよくね
2021/04/25(日) 12:36:35.37ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)
Dim 日付1 As Long Integer, 日付2 As Integer
日付1 = Datesirial(適当に)
日付2 = Datesirial(適当に)

For day = 日付1 To 日付2
Dim R As Long

R = R + 1
Cell(R , "D").Value = day
Next day

End Sub

Changeしたいシートに記述してみたんですけど構文エラーになりました
2021/04/25(日) 12:41:57.46ID:trooC9Gj0
適当にってのは自分で好きな変数に書き換えろってことだぞ…
あとapplication.enableevents=falseにしないと無限ループになるぞ
処理後はtrue
あとdimをループの中に入れないで
詳しくはググって
2021/04/25(日) 12:43:38.04ID:trooC9Gj0
あと
If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub

こういうようなのを冒頭に入れないと、どこに何を入れても命令が実行されるから遅くなる
2021/04/25(日) 12:59:50.89ID:kagSPvTda
結果として上手くいっているのかもしれないけど、
R がループ内で宣言されていると、毎回初期化を期待しているみたいでイヤですね
この場合、R の宣言はプロシジャの先頭にあるものとみなされるのだろうけど
2021/04/25(日) 13:05:39.55ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)
application.enableevents=false
If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
Dim 日付1 As Long Integer, 日付2 As Integer
日付1 = Datesirial(Long)
日付2 = Datesirial(Long)

For day = 日付1 To 日付2
Dim R As Long

R = R + 1
Cell(R , "D").Value = day
Next day

End Sub

↑こんな感じでしょうか?
初心者すぎてすいません(汗
2021/04/25(日) 13:12:30.82ID:trooC9Gj0
エナブルイベントの場所が違う
exti subのあとにエナブル入れるべきだし
命令終了後にエナブルイベントをtrueにしないとチェンジイベントが実行されなくなる
dateserialの構文はそもそも(変数年、変数月、変数日)
ロングとかいう変数型をぶちこまれても困っちゃうのでは

いっそダイレクトに日付1=(range("a1"),range("b1"),range("c1"))
とかにしてもいいかもね

とりあえず命令一個一個を自分で調べてから実行しないと身にならないよ
2021/04/25(日) 13:16:06.52ID:trooC9Gj0
間違えた
日付1=dateserial(range("a1"),range("b1"),range("c1"))
そもそもcellはスペルミスだからcellsじゃないと実行されないと思う
Cellsなどの命令は頭文字が大文字、残りは少文字になるはずだから、そうならないならスペルミスを疑ったほうが良い
2021/04/25(日) 13:37:02.20ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
application.enableevents=false

Dim 日付1 As Long Integer, 日付2 As Integer
日付1 = dateserial(range("a1"),range("b1"),range("c1"))
日付2 = dateserial(range("a2"),range("b2"),range("c2"))

For day = 日付1 To 日付2
Dim R As Long

R = R + 1
Cell(R , "D").Value = day
Next day

End Sub

こんな感じでしょうか?
エナブルイベントについてググってみます
2021/04/25(日) 13:39:40.44ID:trooC9Gj0
application.enableevents=trueをさいごにつけてくれ
あとdim r as longの宣言は日付と一緒におこなって
2021/04/25(日) 13:44:43.40ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
application.enableevents=false

Dim 日付1 As Long Integer, 日付2 As Integer
日付1 = dateserial(range("a1"),range("b1"),range("c1"))
日付2 = dateserial(range("a2"),range("b2"),range("c2"))

For day = 日付1 To 日付2
Dim R As Long

R = R + 1
Cell(R , "D").Value = day
Next day

application.enableevents=true
End Sub

>>あとdim r as longの宣言は日付と一緒におこなって
↑まったくわかりません(泣
2021/04/25(日) 14:00:05.29ID:trooC9Gj0
変数宣言の意味がわからないなら
dim系の命令はいっそ全部消しても良いかもね
よくみたら

Dim 日付1 As Long Integer, 日付2 As Integer

ロングインテガーとかいうわけわからん型にしてるし
2021/04/25(日) 14:15:56.57ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
application.enableevents=false

Worksheets("1").Range("D1")= dateserial(range("a1"),range("b1"),range("c1"))
Worksheets("1").Range("D2") = dateserial(range("a2"),range("b2"),range("c2"))

End Sub

こんな感じでしょうか?
2021/04/25(日) 14:43:47.53ID:trooC9Gj0
なんでループまで消した!
2021/04/25(日) 14:48:07.76ID:CqRWqB530
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
application.enableevents=false

Worksheets("1").Range("D1")= dateserial(range("a1"),range("b1"),range("c1"))
Worksheets("1").Range("D2") = dateserial(range("a2"),range("b2"),range("c2"))

R = R + 1
Cell(R , "D").Value = day
Next day

End Sub

こんな感じでしょうか?
2021/04/25(日) 15:14:07.43ID:c8qfwm7na
どうせカッコが全角とかじゃね
2021/04/25(日) 15:22:01.39ID:trooC9Gj0
あーもう
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
application.enableevents=false


日付1 = dateserial(range("a1"),range("b1"),range("c1"))
日付2 = dateserial(range("a2"),range("b2"),range("c2"))

For 日付 = 日付1 To 日付2

R = R + 1
Cell(R , "D").Value = 日付
Next

application.enableevents=true
End Sub
2021/04/25(日) 15:24:13.50ID:trooC9Gj0
間違えた
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:C2")) Is Nothing Or Target.Cells.Count > 6 Then Exit Sub
columns("d").clearcontents
application.enableevents=false


日付1 = dateserial(range("a1"),range("b1"),range("c1"))
日付2 = dateserial(range("a2"),range("b2"),range("c2"))

For 日付 = 日付1 To 日付2

R = R + 1
Cells(R , "D") = 日付
Next

application.enableevents=true
End Sub
2021/04/25(日) 15:32:25.96ID:CqRWqB530
>>436
すごい!!
できました!
コードを見て
私がが2ヶ月かかっても出来ないわけですね
こんなむずかしいことに挑戦していたなんて・・・

これからも勉強していつかは人に教えれるようになりたいです。

感謝!!
2021/04/25(日) 15:36:23.25ID:xxLFjq7K0
いつかじゃなくて今すぐ人に教えられるように理解しろ
2021/04/25(日) 15:37:54.87ID:CqRWqB530
>>438
> いつかじゃなくて今すぐ人に教えられるように理解しろ

↑無理
2021/04/25(日) 17:53:19.26ID:K6WUBqIf0
なんでいつもそんなに上から目線でマウント取ってくるの?
人格破綻者なの??
441デフォルトの名無しさん (ワッチョイ 968e-iMGS)
垢版 |
2021/04/25(日) 18:16:22.33ID:vAt0cvBk0
いつものあいつだろ
2021/04/25(日) 18:20:31.60ID:nATm0Zraa
なになに役人のつくる書類よりはよほどまし
18ページ手前に書き込む内容が
3ページ後にアドレスをみなから手計算しなければならん
おなじページに書けないのか
こんなのが延々 50ページぐらい続く
ひどいスパゲッテイだよ
2021/04/25(日) 18:33:35.35ID:nATm0Zraa
確定申告がこんなひといスパゲッテイだったとは
2021/04/25(日) 18:36:11.53ID:rqvjO/ad0
上から目線でマウントとる人は人格破綻者なのかw
2021/04/25(日) 21:25:32.74ID:n+Zq8N/Kd
>>386
流石に多少やってる奴なら頭に書くのがそれじゃないと知ってる筈だが。
2021/04/25(日) 23:44:44.33ID:B0d72kDU0
>>445
すまない
良く読んだら 
Option Scriptになってるな
Option Explicitの間違いだ
2021/04/26(月) 01:31:30.42ID:0lQeMWYV0
牧野ここにも出没してんか?
暇なのか?あ?
2021/04/26(月) 06:59:23.61ID:lovLRBcK0
だっさw
2021/04/26(月) 16:06:49.39ID:0lQeMWYV0
牧野の人気に嫉妬してるからよ
2021/04/26(月) 16:38:43.84ID:g9sbyhzRa
どなたかGetOpenFilenameでカレントディレクトリが変更されるの何とかできませんか?
構造体はさっぱり分からんのです
2021/04/26(月) 17:20:54.81ID:z51HLtPU0
元のアクティブブックを変数にして
戻せばいいだけだろう
どうせブック複数いじるなら変数のが便利だし
2021/04/26(月) 17:49:31.38ID:g9sbyhzRa
>>450
なら戻しても間に合わんのです
ダイアログの初期フォルダを指定したいのに、なぜかカレントディレクトリが勝手に変更されるみたいなんですね
すみません舌ったらずでした
2021/04/26(月) 17:52:36.88ID:Fs15ZcA/0
これ追加すりゃいいんじゃないの?
ChDir ThisWorkbook.Path

自ブックのパスがいやなら
設定用シートでも作っといて
そこに参照したいパス書いといて
それをChDirに設定しとけば?
2021/04/26(月) 18:05:41.03ID:g9sbyhzRa
いや、それがダメなんですよね
chdirで設定したあとGetOpenFilenameを実行するとカレントディレクトリが変わって、で初期フォルダがあらぬ所に設定される
直前直後でdebug.print curdir入れて確認してるから、間違いなくGetOpenFilenameの段階で変更されてる……と思う?

ユーザーフォーム上に置いて繰り返し実行してるけど、どうやら1回目に開いたダイアログを変更すると、変更先のディレクトリを覚えて、次から勝手にそこに変えてくれているみたい
2021/04/26(月) 18:10:37.42ID:qBKi4u1A0
それネットワークドライブ?
2021/04/26(月) 18:15:43.70ID:g9sbyhzRa
いや、Cです
2021/04/26(月) 18:27:36.92ID:QRSOMQKpa
chdirは古いコマンドだから、なにかエラー出しているのかも
2021/04/26(月) 18:58:56.85ID:+pOfqz7u0
カレントディレクトリを復元する際は、ChDriveとChDirをちゃんと両方やれよ
2021/04/26(月) 19:19:25.15ID:/WVOYzSd0
問題がよくわからん
GetOpenFilename実行後にカレントディレクトリが変更されるって話なのか?
だったら実行後に戻せって話
GetOpenFilenameでカレントが変更されるのはヘルプにも明示された仕様だからどうしようもない

GetOpenFilenameの初期値がカレントディレクトリにならんって話なのか?
だったらまずコード曝せ
2021/04/26(月) 21:18:48.90ID:Qb9oKWtLd
ステップ実行でChDirとかGetOpenFilenameの引数を全部チェックしたか?
2021/04/26(月) 22:36:46.66ID:lovLRBcK0
今の子はもうカレントディレクトリ自体が謎仕様なのか
2021/04/26(月) 23:20:39.12ID:xr7wJCbA0
>>376だけど実引数がVariant型の参照渡しなら仮引数はカッコ付きのVariant型にできるのね
理由がよく分からないけど
配列のVariant型を引数にしたときの指定方法をパターン化したいんだけど全くわからん
2021/04/26(月) 23:57:08.69ID:+pOfqz7u0
>>462
配列は配列の参照で受け渡すことが基本で、それはVariant型も同じ。
ただしVariant型は配列を格納できる。
Variant型の配列という意味ではなく、ひとつのVariant型の変数の中に
配列を格納できる。そこから考えてみたらいいと思うよ。
2021/04/27(火) 00:36:34.29ID:9wjO2iUR0
>>463
>Variant型の配列という意味ではなく、ひとつのVariant型の変数の中に
>配列を格納できる。
この発想は無かった、もう少し考えてみます
ありがとう
2021/04/27(火) 01:04:32.91ID:mgRy5CVU0
中身のない()つけたら動的と勘違いするだろ
2021/04/27(火) 10:18:38.80ID:5d+cCuuaa
>>459
2つ目と3つ目
ごめんなさい色々やって自決しました。変更先のフォルダ名にセミコロンが入ってたのがまずかったみたい。
どうしようもないので今回は諦めて違うことをします。お手数おかけしました。
2021/04/27(火) 10:32:17.76ID:KMwaQK/30
>466
自決ってお前w
2021/04/27(火) 10:51:44.25ID:KMwaQK/30
>>466
ちょっと試したけど、たしかにカレントディレクトリにセミコロンとか入ってると
そこが初期位置にならんな

カレントディレクトリを8.3形式で指定したらイケルっぽいぞ
いまさら直る気がせんが気になるならマイクロソフトに報告してみ
2021/04/27(火) 19:06:09.30ID:Xk0sjNEua
ここではもうとっくにエラー429については議論され尽くしましたか?
初心者なのですが、file system objectを読もうとしたらアクティブXがそれはできませんと出て、どうしてよいやら
2021/04/27(火) 19:49:18.21ID:vIQbS3UC0
そんな用語使う初心者がいるか!
2021/04/27(火) 20:05:11.09ID:Xk0sjNEua
え?
2021/04/27(火) 20:33:52.91ID:Fi83YJTP0
な?
2021/04/27(火) 20:40:43.33ID:ecHnxSib0
り?
2021/04/27(火) 20:45:59.35ID:UpvbOzN+0
ほんぎゅろげええええええええ
2021/04/27(火) 23:48:49.38ID:9wjO2iURH
通常の=での代入でもVariantの()で宣言した変数には配列が入らないんだね
Range型の複数セルが代入できるので勘違いしてた
Range型が返す配列はVariant型だからできるっぽい?
Variant型の()付き変数は配列じゃなければどんな意味があるのか?
2021/04/28(水) 00:12:42.15ID:wZLkUEzX0
どんだけこだわるのよ
2021/04/28(水) 00:34:41.28ID:oMne/ugv0
自分は好き勝手やってるのに俺らだけ奴隷労働しろと
ちょっとでも目立つのが気に入らんと
2021/04/28(水) 02:49:41.12ID:R/cV679Q0
他人の事情なんか配慮しないのがデキるプログラマー
2021/04/28(水) 03:25:04.10ID:yYRagbWx0
>>475
Variantの()で宣言した変数はVariant配列型の変数で、Valueの戻り値もちゃんと代入できるよ
ただし複数セルを参照しててValueが二次元配列を返すときに限る
一つのセルだけしか参照してない場合は配列を返さないので型不一致になる
2021/04/28(水) 05:59:25.47ID:OKDjIMLh0
そういやvbaの配列は、
・配列じゃない値
・countが1の配列
これが微妙に違っていた気がする
2021/04/28(水) 07:14:02.38ID:X/WADpVMH
>>480
何が言いたいのかわからん
ほかの言語でも単純な変数と要素が1個の配列変数は厳密に区別されるのが普通だし
2021/04/28(水) 12:09:24.67ID:Jq2bf8XLa
配列にはいれっ
2021/04/28(水) 13:41:38.64ID:K3oXR9qNa
変数を反芻
2021/04/28(水) 14:02:46.34ID:GqNxFOs40
Excelのオブジェクトを操作したときの動きからVBAの仕様を推測して
混乱してるように見えるな。質問スレじゃなくて、VBAについて教えて
くれる人や本やサイトを探した方がいいんじゃないか。
2021/04/28(水) 19:07:20.75ID:fsi6lQwja
ベテランの初心者がきました

よろぴく
2021/04/28(水) 19:31:32.06ID:xYFjFFNHa
エラー429は自力で解決したのでもういいです。
2021/04/28(水) 19:41:38.21ID:xYFjFFNHa
理由はただの書き間違いでした。
488デフォルトの名無しさん (ラクッペペ MM34-4uvq)
垢版 |
2021/04/28(水) 19:45:56.67ID:Sz6ocakQM
429 = 死肉
2021/04/28(水) 23:01:14.39ID:gO4+NyeW0
>>479
Variant型の配列っていうのがあるんだね
配列でないVariant型ならデータが入っていればVariant型ではない(代入した型に変換される)
だからデータが入っているVariant型の配列って無いと思ってた
これ以上は切りが無くなりそうなので止めます
ありがとう
2021/04/29(木) 02:21:41.91ID:EFUE1W1F0
最初から配列であることを宣言した場合と、
Variantに配列をぶっこんだ場合は、
区別しないといけない
2021/04/29(木) 03:35:54.80ID:xPFf86S80
Variant型は調べれば調べるほど「???」ってなるから気をつけて
VB.Netでは廃止されたくらいの型だから

俺も最初調べててVariant型って内部型とか持ってるし
代入したものの参照でも抱えているだけのものと高を括ってたけど
Variant型の配列を作ってある要素には値型、ある要素には参照型を設定して関数の引数に値渡しで渡すと
きちんと値型の部分は値が、参照型の部分は参照が渡されるのは少し前にレスした通り

そもそも何で配列の値渡しは出来ないのにVariant型に入れると値渡しが出来るような思想で作られているのかも謎。そういうものだと思う他ない。

VBAがObject指向に片足を突っ込んでいるところで止まっているせいか、Objectでもそうでないものも代入出来る型として存在していて使い勝手が良い反面、
コンパイル時に内部型が違う場合でもエラーにならないから実行時に初めてエラーとなって気がついたり、
違う型のものを上書いてしまってエラーとならずに期待した挙動と変わってしまう場合が出て来る恐ろしい型でもある。

Variant型を使うなとは言えないけど
使う際にはその特性と挙動を十分把握していないと、ちょっと何か変わったことをしただけで期待した結果が得られないことになり得るから十分気をつけてね。
2021/04/29(木) 03:54:38.48ID:xPFf86S80
余談だけど他の言語にも
例えばJavaScriptやC#には変数宣言する際に、型にvarって宣言することがあるけど、これはVariableと言って全然別物で
最初に代入した値の型をJavaScriptでは暗黙的に、C#では型推論で持ち回るものだから、もし、今後そう言った別言語を扱うことがあれば
そういうものだと覚えておけば勘違いしなくて済むよ。
2021/04/29(木) 06:09:50.46ID:S4zpEuOGH
Variant型っていうのはVBAやVBのために作られたわけじゃない
もともとWindowクラスが持ってる機能に対して、演算子をオーバーロードした物
2021/04/29(木) 06:17:04.92ID:K+5EoiH2M
>>491
> VB.Netでは廃止されたくらいの型だから
単にObject型になっただけ
使い勝手が違うのはVB.NETの方が方に厳しいから暗黙の型変換をしなかったりするため
2021/04/29(木) 06:50:30.24ID:S4zpEuOGH
>>494
VariantとObjectは同じような物とか代替品として紹介してるサイトとかあるけど、これはあくまでも初心者向けの説明
実際はまったく違う物なので、個人的にはこうやって説明するのも反対したいところ
2021/04/29(木) 07:11:32.09ID:uNZAJPBsM
>>495
はあ?
違うと言うならどう違うのか書いてみなよ
まさかと思うけどVBAのObjectの話じゃないよな?
2021/04/29(木) 07:11:42.35ID:xPFf86S80
>>495
そうなんだよね
Variantの代わりがObjectだと言われると
うーん、まぁ間違っていないとは思うけど
物凄い違和感を感じるよね。

同じものかと言われれば絶対別物と
はっきり言うことが出来るけど。
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
2021/04/29(木) 07:22:43.60ID:r4t8KOvl0
>>493
>演算子をオーバーロードした物
どの演算子?

>>498
これってヒープ領域に全部突っ込んでるってこと?
2021/04/29(木) 07:23:03.00ID:r4t8KOvl0
なわけないか
2021/04/29(木) 07:25:47.75ID:iJcHPvsoa
VBAとVB.netはまったく別物で比較しようなんて思わない

標準がバリアントなんだからできるだけバリアントを使うべきだし

値渡しの件も、VBAでは値渡しのが原則なんだから
値渡しのオンリーにすべきとおもうけど
どうしても参照渡したいならパブリックにするだけ
2021/04/29(木) 07:36:18.54ID:xmHZYPrVM
>>498
そこまで言うならStructureでVariant相当のものを作ればいいかと

>>499
> これってヒープ領域に全部突っ込んでるってこと?
そう言うこと
2021/04/29(木) 07:48:54.45ID:S4zpEuOGH
>>499
算術演算子などで文字列を自動的に数値に変換する部分

>>501
厳密な説明をするなら、Variantは暗黙ではあるけど標準ではない
納得いかない人もいるだろうけど、強いて言うなら標準に近いのはObject型の方
Variant型はWindowクラスからの継承だから、VBでもVBAでも、もっと別の言語でも内部ではまったく同じ物で同じ処理が動いてる
何を使う「べき」かはケースバイケース
2021/04/29(木) 07:55:26.52ID:r4t8KOvl0
>>502
冗談で言ったらマジか
まぁオブジェクトは参照になるなら、ヒープ領域云々はそこまで考えなくてもいいか

vbaの文字列は文字の配列じゃなく単に値だったから、variantで文字列使いまくると良くない?
※そもそも値じゃなかったらごめん
2021/04/29(木) 08:01:54.76ID:xPFf86S80
>>503
へぇ
VBAやVB6みたいにVariant型みたいなもの
持ってる言語って他にもあるんだ
まだ当たったことないなぁ
2021/04/29(木) 08:12:11.05ID:iJcHPvsoa
VBのときに他の言語がどうこうと長話はじめるのは老害みたいなもの
気をつけたほうがよい
2021/04/29(木) 08:17:52.33ID:xPFf86S80
老害だもの

みつを
2021/04/29(木) 08:45:33.51ID:530kL6INd
>>505
VBS
もしかして知っててわざと試してる?
2021/04/29(木) 09:13:27.94ID:xPFf86S80
>>508
そうかVBSは明示的に型宣言することないから忘れてた
2021/04/29(木) 09:39:50.72ID:S4zpEuOGH
Visual StudioのC++のVariantクラスも構造体の中身はまったく同じ
2021/04/29(木) 12:13:26.48ID:iJcHPvsoa
そうなると
VBSにてintの宣言をしたいときはどうなるの
2021/04/29(木) 12:38:49.55ID:q/beK7t50
その辺考慮することでExcelのマクロとしてどんなメリットがあるの?
2021/04/29(木) 13:12:06.33ID:KFW9RSkud
>>511 不可能
2021/04/29(木) 13:13:04.28ID:Z9k/ziJ20
よくわからんけど一般的な仕事に使うのに知る必要のある情報じゃなさそう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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