[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2ch.scのread.cgiへ]
Update time : 10/02 16:58 / Filesize : 123 KB / Number-of Response : 456
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part68



1 名前:デフォルトの名無しさん [2020/08/30(日) 11:55:27.33 ID:Oy/VxFsh0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

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

※前スレ
Excel VBA 質問スレ Part67
https://mevius.5ch.net/test/read.cgi/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

166 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 12:18:21.67 ID:tJgZROmkM.net]
指定値と配列値の差分を絶対値にして比較した場合、
指定値が5だとして
配列  差分(ABS)
4     1
7     2
となり、最小の差分は1とわかる
座標を知りたいので指定値(5)-差分(1)=4となり、配列の中から4を検索して座標を調べればいいのかなって思ってたんだけど
絶対値で出てくると5-1か5+1どっちを検索すればいいか不明じゃないですか?
そこらへんを解決する方法があれば聞きたいです

167 名前:デフォルトの名無しさん [2020/09/10(木) 12:33:38.92 ID:l+lun8zfM.net]
ひとつに絞りたいならお前がルールを決めればいい
お前に決定権がないなら保護者に聞け

168 名前:デフォルトの名無しさん (ワッチョイ 7d01-pVuC) mailto:sage [2020/09/10(木) 12:50:19 ID:/arv21np0.net]
ExcelVBAのフレームワークってないんですか?

PHPやJavascriptはまずフレームワーク覚えるもんだと思うのですが
VBAだとそういうのが見当たらなくって・・・

169 名前:デフォルトの名無しさん (ブーイモ MM81-m2CW) mailto:sage [2020/09/10(木) 12:52:37 ID:sAyQhYLaM.net]
見よう見まねで結構大掛かりなマクロを作った
情シスには程遠い事務の部署で
改善賞1万円
うーんもうちょい欲しかった

170 名前:デフォルトの名無しさん (スフッ Sd0a-EJMP) mailto:sage [2020/09/10(木) 13:06:54 ID:PB4qSPsyd.net]
オフイスを便利に使うためのお手軽言語でフレームワークの勉強とかやってたら非効率な上に大したメリットもない

171 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 13:09:58.25 ID:4uvZuCuyM.net]
フレームワークという意味ではVBAそのものがVB6のOffice向けフレームワーク
さらに言えばExcel向けに特化したものがExcelVBA
他のOfficeソフトにもそれぞれのVBAがある

172 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 13:11:29.05 ID:XKC0VKf0M.net]
>>167
一つに絞りたいというか最も近しい値を知りたいのです
指定値が5のとき、配列が4と7なら4を、3と6なら6の座標を調べたい
1万行は超えるから総なめはちょっと…

173 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 13:21:59.05 ID:4mlwjCSed.net]
>>172
パソコンにとっては「たった」1万行だよ
総舐めが一番簡単だし、開発時間も含めれば一番早い

174 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 13:23:29.76 ID:4mlwjCSed.net]
総舐めでもここでグダグタ言ってる間に結果が出る



175 名前:デフォルトの名無しさん [2020/09/10(木) 13:38:32.36 ID:l+lun8zfM.net]
>>172
は? 質問は4と-4だろ?

もう俺が決めてやるよ
-4にしろ、はい解決

176 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 13:41:25.58 ID:Yq3PJL3D0.net]
セルを弄くり回すとかじゃなくて配列のまま総舐めするなら1万行ぐらいすぐ終わるでしょう
指定した値aの近似値が欲しいなら
If a-x<=Array(i) And a+x>=Array(i) Then
とかで引っ掛かる奴を引っ張り出すなりなんなりすりゃあ良い

177 名前:デフォルトの名無しさん [2020/09/10(木) 13:43:28.62 ID:l+lun8zfM.net]
あ、ごめん
俺が質問を勘違いしてたわ

178 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 13:48:20.19 ID:Yq3PJL3D0.net]
近似値の範囲が不定で最も近い値を探すって言うならRank関数とかLarge関数とかSmall関数使うのも手

179 名前:デフォルトの名無しさん [2020/09/10(木) 13:50:34.65 ID:l+lun8zfM.net]
>>168
各オブジェクトに多数のイベントが設定されているでしょ
windowsのプログラミングはイベントドリブンが基本
ブックが開いた、ボタンが押された、マウスが動いたなどのイベントに対するコードを書いていけばアプリケーションが完成する

180 名前:デフォルトの名無しさん (ワッチョイ 3dad-sCec) [2020/09/10(木) 18:35:00 ID:VdzBOqiR0.net]
すみません今宿題でこれやってるんですけど打ち込んでもなにも出ないのですがなぜでしょう

181 名前:デフォルトの名無しさん (ワッチョイ 3dad-sCec) [2020/09/10(木) 18:36:01 ID:VdzBOqiR0.net]
https://i.imgur.com/poQzyJO.jpg
これです

182 名前:デフォルトの名無しさん (ワッチョイ 6a42-vvkI) mailto:sage [2020/09/10(木) 19:09:29 ID:yo745YZ80.net]
打ち込んだだけで実行してないからじゃね

183 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 19:30:20.82 ID:L0+T18/AM.net]
どこに打ち込んだかも分からないしなんとも

184 名前:デフォルトの名無しさん [2020/09/10(木) 19:46:53.46 ID:cO3BfNoWM.net]
汚えコードだな



185 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 19:55:23.47 ID:T9YJeJvx0.net]
>>166
コードが汚すぎる

186 名前:デフォルトの名無しさん (ワッチョイ 11da-pVuC) mailto:sage [2020/09/10(木) 20:10:09 ID:QatXFD490.net]
>>181
セルの幅や高さは初期状態?

187 名前:デフォルトの名無しさん (ワッチョイ 11da-pVuC) mailto:sage [2020/09/10(木) 20:12:24 ID:QatXFD490.net]
あ、なんでもない

188 名前:デフォルトの名無しさん (ワッチョイ 11da-pVuC) mailto:sage [2020/09/10(木) 20:17:20 ID:QatXFD490.net]
普通に動いたんで入力ミスとか環境の問題かな

189 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 20:49:46.36 ID:Rp5mNNXSd.net]
パズルゲームを作ってます。

セルを奇数列から横2マス選択してドラッグさした場合に、移動先が同じ奇数列から始まる場所なら許可。偶数列から始まる場所に移動した場合は不可にして移動をキャンセルさせたいんですがどうしたら出来ますか?良いEVENTってあるんですかね?

190 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 21:52:44.31 ID:WalExY5Hd.net]
>>180
そのまま入力してちゃんと動いたから、問題文には間違いはない
https://i.imgur.com/kojc0gJ.png

それにしても学校の宿題だとしたらひどすぎるな
先生がこんなに汚いコードしか書けないとか生徒がかわいそう

191 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 21:54:41.31 ID:WalExY5Hd.net]
ああ最後の方に入力ミスあったわごめん

192 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 21:56:12.36 ID:WalExY5Hd.net]
>>189
SelectionChange

193 名前:デフォルトの名無しさん [2020/09/10(木) 21:56:18.66 ID:a+RPoaYl0.net]
>>181
コメント行の終わりにシングルクォーテーションが付いているのは初めて見たw

コメントというより、文字列リテラルに見えてくるw

194 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 21:57:24.01 ID:b8lNN7jK0.net]
>>190
こんな意図がこんなに読みづらいコード初めて見たわ



195 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:01:54.82 ID:qPrgFXQ2a.net]
>>181
先生変数宣言しないの?

196 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:06:42.97 ID:YMu2GFxia.net]
教師は必ずしもコード書いてた人じゃないししゃあないんちゃう

197 名前:デフォルトの名無しさん [2020/09/10(木) 22:22:10.32 ID:6Lj7sAI40.net]
>>180
馬鹿過ぎる帰れ

198 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:28:05.12 ID:WalExY5Hd.net]
>>193
HTMLみたいにコメントが改行で終わるとは限らない言語はまれによくあるけどな
それよりもインデントの汚さと、Cellsのパラメータにx, yを使ってるあたりがめちゃくちゃ気になる

199 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:28:20.02 ID:QatXFD490.net]
Kirakira1 のコードにそっくりなのが検索で見るかるけど
そっちでは変数宣言しているw

200 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:31:17.53 ID:/qwml5cpa.net]
これか
https://my-tax-nology.com/excel-vba-animation-rnd-function-cells-glitter
>>マクロ(Excel VBA)を使えば、簡単なアニメーションを作ることができます。
>>アニメーションを作っていると楽しいだけでなく、プログラミングのスキルアップに繋がります。

なるほど??

201 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:37:08.36 ID:uWh6vQvPa.net]
エクセルVBA は当分なくならないですかね

202 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 22:43:44.96 ID:WalExY5Hd.net]
>>200
VBAを教えてるサイトでコメントをシングルクォートで閉じたりカッコを全角で書くやつなんて世界に一人しかいない
本人ならDimやインデントはちゃんと書くはずだし、完全にパクリだな

203 名前:デフォルトの名無しさん [2020/09/10(木) 22:59:03.63 ID:VdzBOqiR0.net]
180ですなんとかできました。ド素人なんで申し訳ない
このコードはそんなできのいいものじゃないんですか?
先生凄く威圧的でいつもそんなんもわからんのかみたいな喋り方なんすけど

204 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:10:15.32 ID:8/CQSYne0.net]
すまん
wsfやhtaでvbs書くとき 'コメント' って書くわ
エディタの色付けがjs用だから



205 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:26:05.51 ID:8/CQSYne0.net]
>>203
「なんで乱数を整数化するのにRoundを使ってしまったんですか?」って聞いてみて

206 名前:デフォルトの名無しさん [2020/09/10(木) 23:27:44.84 ID:a+RPoaYl0.net]
他の言語でも行コメントで見出し風にするプロはそれなりにいる。

ただ、初心者に教える人間が行コメント構文を、ブロックコメント構文と同じ使い方をするのは、初心者を混乱させるだけで、何のメリットもない。

207 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:29:02.40 ID:b8lNN7jK0.net]
>>203
なんで変数宣言しないんですか?
なんでx1とかわかりづらい命名するんですか?
なんでx1とかを上書きするようなわかりづらい変数の使い方してるんですか?
インデントの使い方に意図はありますか?
6の意味が説明されないとわからないのは不親切ですね

などなど…色々質問してみたらいいよ

208 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:31:52.10 ID:ewRWdYKCd.net]
>>203
その先生は、少なくともVBAの知識だけは大したことないことは誰が見てもわかる
ほかの言語のエキスパートでVBAをバカにする人もいるけど、人に教えるんならちゃんとしろと思う

>>199
よく見つけたな

209 名前:デフォルトの名無しさん [2020/09/10(木) 23:31:53.48 ID:a+RPoaYl0.net]
>>205
それもなんか見ると気になるな。コードの順番も変だし、数値の精度やデータ型をわざとヘンテコにしているのかも謎。

210 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:33:45.89 ID:ATM2a6JOd.net]
>>205
Rndの定義から考えればIntを使うのが自然だけど、まあそこは100%間違いとは言い切れないからなあ

211 名前:デフォルトの名無しさん [2020/09/10(木) 23:33:50.53 ID:a+RPoaYl0.net]
その先生だと6は数値ではなく数字です!
マジックナンバーって何と言いそうw

212 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:34:53.46 ID:ATM2a6JOd.net]
コードのおかしさは、その先生よりコピペ元のサイトの責任だろ

213 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:37:35.65 ID:8/CQSYne0.net]
>>212
ドコモロは黙っててくれないか

214 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:43:13.95 ID:b8lNN7jK0.net]
>>212
教える側の立場として教材として使うかどうか判断したんだから元のところに責任はねーだろ
なんか改悪もしてるし



215 名前:デフォルトの名無しさん [2020/09/10(木) 23:50:48.35 ID:Q3JELDTy0.net]
ループの外でウエイトしてたら速すぎてキラキラしないんじゃ…。
紙に書いてある方。

216 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:52:06.33 ID:2cDIJpauM.net]
>>200
こいつもかなり怪しいな
i, jを宣言してないし、変数をゼロクリアしてるのも謎

217 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 23:53:08.37 ID:/1fuNzSOa.net]
>>215
確かに言われてみれば
キラキラの意味

218 名前:デフォルトの名無しさん (ワッチョイ a95f-Sism) [2020/09/11(金) 01:20:18 ID:66INGyZB0.net]
>>216
本業が税理士なのに、詳しくもないことをひけらかすやつだから、税理士としてもいまひとつの癖のあるやつだと思う。

219 名前:デフォルトの名無しさん (ワッチョイ a95f-Sism) [2020/09/11(金) 01:22:28 ID:66INGyZB0.net]
>>216 彼も他人のパクリなのかもね

220 名前:デフォルトの名無しさん (ワントンキン MM7a-nV8z) [2020/09/11(金) 01:27:34 ID:iTcJm+RBM.net]
ゆとり世代の馬鹿に教えるゆとりかよ

221 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 08:33:42.89 ID:L6SxevYWd.net]
>>146
そいつはバグだと思うよ。
Mougで質問してた人がいて、俺も試したけどTreeViewでのD&Dで座標がバグってる。

で、15ってのはそのバグを何とか実情に合わせたものだと思う。
俺もその時似たようなことやって15っていう数字には覚えがある。

222 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 09:37:00.89 ID:mn04Qg6+M.net]
>>221
>>146 です。色々調べた結果、TreeViewのMouseMoveやMouseDownのイベントで渡される座標が他のフォームとは異なりピクセルで渡される事が原因でした。
なのでGetDesktopWindow,GetDC,GetDeviceCapを用いてDPIを取得し、
取得した値で1440(1440twips=1Inch)を割り、
その値をピクセル数に掛ける事でポイントでの換算に成功しました。
標準の設定ですとDPIが96になるそうなので1440/96で15、となるようです。

223 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 16:13:39.65 ID:qEgHhc430.net]
VB6だとScreen.TwipsPerPixelXってあったんだがなあ

VBAだとPointsToScreenPixelsXとかあるなと思ってみてみたけど、これ、つねに72DPIで計算するっぽいな

224 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 18:44:31.89 ID:+9zmYtvxd.net]
>>192
それだと1回めの選択範囲で動いて、移動したら動きますよね?
1回目の行や列を記憶させて2回目で比較する感じですか?



225 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 22:11:41.98 ID:L6SxevYWd.net]
>>222
>>223
うん、その辺みんな知ってるけどTreeViewの問題って違ってたと思うんだが。

226 名前:デフォルトの名無しさん [2020/09/12(土) 08:12:41.83 ID:cGm6fMBf0.net]
動的配列に値を追加していきたいのですが要素番号を0ではなく1から始める方法はありませんか?

227 名前:デフォルトの名無しさん mailto:sage [2020/09/12(土) 08:24:59.90 ID:OyGZa+nz0.net]
Sub testtttt()
Dim arr() As Variant

ReDim arr(1 To 1)
arr(1) = 10
ReDim Preserve arr(1 To 2)
arr(2) = 20
ReDim Preserve arr(1 To 3)
arr(3) = 30

MsgBox arr(1) & " " & arr(2) & " " & arr(3)
End Sub

ちょっとはぐぐれよな
https://www.relief.jp/docs/excel-vba-shift-array-index-to-1-start.html

228 名前:デフォルトの名無しさん mailto:sage [2020/09/12(土) 08:28:00.30 ID:FkIM4E0+M.net]
『[ VBA ]「Option Base 1」使うなよな!反論は聞かない!』

229 名前:デフォルトの名無しさん mailto:sage [2020/09/12(土) 15:06:14.92 ID:X8G1U5XY0.net]
アレイリスト使うほうがかんたんじゃね?

230 名前:デフォルトの名無しさん mailto:sage [2020/09/12(土) 20:26:44.99 ID:+6u/uPRn0.net]
先頭を1にするのはセンスないね

231 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 18:06:26.03 ID:YLQY1Qz5r.net]
i++とか+=使えないのマジで不便だな
前置インクリメントもできないし一行でもend ifとかloop書かなきゃいかんしめんどくさくね?
この言語もうちょい進化しないの?

232 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 18:10:50.73 ID:CnoY9xmOM.net]
1行でEnd If書きたくないならThenの後に半角スペースいれたら改行しないで処理書いてみ

++とかは禿同

233 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 18:13:56.53 ID:YLQY1Qz5r.net]
>>232
おおこんなことが、、、
ありがとう!

234 名前:デフォルトの名無しさん [2020/09/14(月) 18:15:50.60 ID:LbAMjRkX0.net]
>>231
馬鹿は死ねよ



235 名前:デフォルトの名無しさん [2020/09/14(月) 19:51:50.83 ID:ZpzZ2vr50.net]
ガイジ君ブチ切れw

236 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 19:57:09.34 ID:lPVfhwtb0.net]
ざわ・・ざわ・・

237 名前:デフォルトの名無しさん [2020/09/14(月) 20:46:20.36 ID:LbAMjRkX0.net]
+=使えるだろうが

238 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 20:54:32.80 ID:P2Bbq2Qk0.net]
使えません

239 名前:デフォルトの名無しさん [2020/09/14(月) 20:56:59.34 ID:LbAMjRkX0.net]
あー、VB.Netスレだと思ってた。スマン、死んでくる。

240 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 21:01:00.11 ID:P2Bbq2Qk0.net]
逝かないで

241 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 21:01:06.64 ID:K/D9SivKp.net]
制御構造は、キーワードの選び方がやや独特だけど、基本的なものについては、概ね他の言語と同等のことはできると思う。
どちらかというと、変数の宣言・定義が一緒にできないとか、配列・コレクションの要素参照が角括弧でなく丸括弧だとか、プロシージャ呼び出しの丸括弧の要否とかの方が不便さを感じるかな。まぁ、これらも慣れと言われればそれまでだが。

242 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 22:06:22.62 ID:9LhT2bwK0.net]
gotoとラベルでできるっちゃあできるけどcontinueとbreakが欲しい

243 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 22:20:37.59 ID:8aASiVNY0.net]
breakは、一応Exit 〜が概ね対応しているのでは(While〜Wendでは使えないけど)?
脱出するループを明示的に指定するので、breakより便利な場合もごくたまにある。もっとも、二重のForループから抜ける場合などは結局GoToに頼ることになるので中途半端ではあるけど。

244 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 23:27:12.72 ID:EMg7ooaX0.net]
俺もたまにラベルでcontinueするけどめちゃくちゃ見栄え悪くて嫌



245 名前:デフォルトの名無しさん mailto:sage [2020/09/15(火) 08:35:58.25 ID:Ny+/GOwEd.net]
>>232
>>233
基本、それは使わないな。
読みやすさとか構造の分かり易さ優先。
勿論、時と場合による。

246 名前:デフォルトの名無しさん mailto:sage [2020/09/15(火) 09:16:48.30 ID:Ty4jOAMY0.net]
ユーザーフォームの2つリストボックスで選択された値を変数に代入する方法を教えてください

■Module1
Public str As String

■ThisWorkbook
Sub tes1()

UserForm1.Show vbModeless
Range("A1").Value = str
End Sub

Sub tes2()
Range("A2").Value = str
End Sub

247 名前:デフォルトの名無しさん mailto:sage [2020/09/15(火) 09:17:03.49 ID:Ty4jOAMY0.net]
■UserForm1
Private Sub UserForm_Initialize()
Dim r As Long
For r = Year(Date) - 1 To Year(Date) + 2
UserForm1.ListBox1.AddItem r & "年"
Next r
For r = 1 To 12
UserForm1.ListBox2.AddItem r & "月"
Next r
UserForm1.Show vbModeless
End Sub

Private Sub OKbtn_Click()
str = Replace(UserForm1.ListBox1.Text, "年", "") & "_" & Replace(UserForm1.ListBox2.Text, "月", "")
Unload UserForm1
End Sub

テストで変数strをA1・A2に入れたいのですが、この方法だとどちらも入りません。

248 名前:デフォルトの名無しさん mailto:sage [2020/09/15(火) 09:33:07.65 ID:q5KWnXWXM.net]
ボタン押してstrに代入するところModule1.strじゃないとダメなんじゃないの

249 名前:246 mailto:sage [2020/09/15(火) 09:45:50.10 ID:Ty4jOAMY0.net]
>>248
試しましたがだめでした

追記
ブックを開いたまま、tes1を2回目に実行するとA1には書き込みますが、
ブックを開いて、1回目のtes1実行ではA1には書き込まれないようです。

250 名前:デフォルトの名無しさん mailto:sage [2020/09/15(火) 09:57:04.92 ID:q5KWnXWXM.net]
モードレスだから
ボタン押した時にUnload UserForm1する前にModule1.tes2を呼び出さないとだ

Sub tes1()
UserForm1.Show vbModeless
End Sub

Sub tes2()
Range("A1").Value = str
Range("A2").Value = str
End Sub

251 名前:246 mailto:sage [2020/09/15(火) 11:27:58.65 ID:Ty4jOAMY0.net]
>>250
ありがとうございました。解決しました

252 名前:デフォルトの名無しさん mailto:sage [2020/09/15(火) 18:56:31.81 ID:Nzz3069/0.net]
AccessVBAを使用しているのですが、標準モジュールを変数に格納する方法がわかりません。
フォームコントロールの様に変数に入れて扱う方法はありませんでしょうか。

253 名前:デフォルトの名無しさん [2020/09/15(火) 19:29:57.34 ID:pZ4d9dfu0.net]
ありません

254 名前:デフォルトの名無しさん [2020/09/16(水) 00:02:05.57 ID:chmz5kZM0.net]
Sub test()
MsgBox Me.TextBox1.Value
Me.Name="a"
Me.Name="Sheet1"
End Sub

1回目の実行 OK
2回目の実行 MsgBoxでエラー
3回目の実行 OK
4回目の実行 MsgBoxでエラー

なんでやねん!



255 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 01:13:07.34 ID:fUx+IXsk0.net]
>>254
F8 でステップ実行してみ、あとエラーの内容くらい書いてもよくね?

256 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 10:04:16.38 ID:HoY0/Pv80.net]
>>253
ありがとうございます。
フォームを格納できるなら標準モジュールも出来るのかと思って質問しました。
標準モジュール内に書かれた関数の引数として参照先の標準モジュールを渡したかったのですが、別の方法を考えてみます。

257 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 18:43:38.23 ID:DJD3HHCL0.net]
動画ファイル(拡張子 mp4,avi等々)の長さ(時間)をvbaで得ること出来ませんかね。
動画用のプログラムでは出ているから何らか手段はあると思うのだけど。

258 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 19:23:25.54 ID:u7LyhgECM.net]
>>257
できる
はい、次

259 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 19:55:21.82 ID:KOE6L/fW0.net]
>>257
拾い物、動くかどうかは知らん

Sub ボタン1_Click()
Dim Shell, Folder
Set Shell = CreateObject("Shell.Application")
Set Folder = Shell.Namespace(Range("A1").Value)
Fil = Dir(Range("a1").Value & "\*.*")
Rows("5:65536").ClearComments
i = 5
Do While Fil <> ""
For j = 0 To 40
Cells(i, j + 1).Value = Folder.GetDetailsOf(Folder.ParseName(Fil), j)
Next
i = i + 1
Fil = Dir()
Loop
Set Folder = Nothing
Set Shell = Nothing
End Sub

260 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 20:18:38.96 ID:pG4LN1Ne0.net]
手を抜くんじゃない!
まじめにヘッダー読み込んで解析しろよ

261 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 20:21:47.41 ID:0zA9ovKo0.net]
ファイルのプロパティからは取れない場合もあるよ

262 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 21:31:45.86 ID:chmz5kZM0.net]
>>255
今環境ないんだけど、
アプリケーションの定義何とかか、
インデックス何とかか、
オートメーション何とかのどれか。
何か変なものがSetされちゃってるのかと思ったけど、
MeじゃMeしかないよね?

263 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 22:10:00.45 ID:jvSIB85Td.net]
>>260
昔、解析したことがある。
aviとかは割と簡単だね。

264 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 23:12:03.30 ID:dsrVDQ5Z0.net]
すごく初歩的な質問ですみません

&演算子で文字列と数字をつないで文字列を作った時に
出来上がった文字列に""を付けなくていいのはなぜなのですか?

MsgBox "あいうえお" は""を付ける必要がある
MsgBox "A" & hoge は文字列扱いのはずなのに""を付けて MsgBox ""A" & hoge"のようにしなくていいのが解せません



265 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 23:23:17.92 ID:0zA9ovKo0.net]
&とhogeは文字列ではなく演算子と変数

266 名前:デフォルトの名無しさん mailto:sage [2020/09/16(水) 23:24:34.57 ID:0zA9ovKo0.net]
""で囲ったら演算子でも変数でもないただの& hogeという文字列にしかならない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<123KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef