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


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

Excel VBA 質問スレ Part61



1 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 23:41:03.61 ID:rni/4bMj0.net]
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part60
https://mevius.5ch.net/test/read.cgi/tech/1552736349/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

251 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 21:33:16.75 ID:wEGsmpoqp.net]
IE操作で頑張ってみてるんですが、リンクオープンして開いた別窓を操作するにはまたhtmldocにobjIE.documentを代入して・・ってしないといけないんですか?

252 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 21:59:36.21 ID:IyB4HHSk0.net]
>>251
別窓にしちゃう(なっちゃう)とそのウィンドウを探して、html取ってくることが必要になるので、できるなら避ける。

IE VBA
でググれば、参考サイト出てくる。あとは応用しだい
IEでは F12で開くやつも有用

がんばれ

253 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 22:06:13.16 ID:wEGsmpoqp.net]
>>252
社内システムなので必ず別窓になっちゃう仕様です
htmlの取り方教えてもらえませんか?

254 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 22:31:09.98 ID:a29jNOd40.net]
>社内システムなので

多分、このスレ見てる全員ズコーだわ、そのオチ。
システム部門の人に聞いちゃダメなんかい。

255 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 22:36:33.89 ID:s0Vi/y5R0.net]
CreateObject("Shell.Application").Windows() から探す

256 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 11:39:56.68 ID:a1IyAHl+r.net]
excelマクロでのバージョン管理てどうすればいいん
言われるがままに集計マクロ作ったら担当者毎に持ってるマクロのバージョン違ってあの機能が無いとか特殊な状況でエラー出る→それ先月直しましたよ
が頻発してる

257 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 12:20:32.52 ID:5BGNguvP0.net]
>>256
サーバー上にマクロ専用のエクセルファイルを置いて、
個々に配っているファイルからはそのマクロを参照させる

258 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 12:51:40.47 ID:YRbGgWK/M.net]
>>257
基本それだが、ずっと掴んでるやつがいるとバグ修正や機能追加のときに困る

259 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 14:16:39.46 ID:5BGNguvP0.net]
>>258
読み取り専用にしてもダメか?



260 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 14:16:55.41 ID:5BGNguvP0.net]
もちろん自分が編集する時は読み取り専用解除ね

261 名前:デフォルトの名無しさん [2019/05/16(木) 14:43:29.72 ID:wWtnEH3A0.net]
コード書く画面を
背景は黒に、文字は白に、する方法を教えれ

262 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 15:42:20.38 ID:Z2BhGmok0.net]
ツール -> オプション -> エディターの設定

263 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 16:12:18.52 ID:BYfNVo3YM.net]
>>256
OS起動したら、サーバからコピーしてくるバッチ等を走らせる
小さいならいちいちバージョン確認しなくてもよい

264 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:04:23.53 ID:rNkkKl6PM.net]
みんな一々シャットダウンするのか?
スケジュールでコピーだろ

265 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:58:39.63 ID:5BGNguvP0.net]
>>>261
これ
https://tonari-it.com/excel-vba-vbe-syntax-highlight/

ちなみに書くとこはVBEって言うから覚えておくと検索できて便利

266 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:18:23.52 ID:UtWIeHx/p.net]
マクロ終了時にマクロ開始から終了までにかかった時間が秒までメッセージボックスに表示するってできる?

267 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:18:36.52 ID:rD+4K505M.net]
>>264
個々人のローカルフォルダにxlam があってそれが定期的に書き換えられるって事?
他のブックがxlamを掴んでる最中でもできる?

268 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:23:31.84 ID:UPwRXvuL0.net]
>>266
できる

269 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:26:21.47 ID:5BGNguvP0.net]
>>266
楽勝

Sub foo()
開始 = Now
'処理
終了 = Now
MsgBox Format(終了 - 開始, "hh:mm:ss")
End Sub



270 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:26:44.10 ID:5BGNguvP0.net]
>>268
URL春だけでもいいから教えてあげたらw

271 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:31:25.53 ID:UtWIeHx/p.net]
>>268はなんとかookスレで最近流行りの流れだよw
>>269ありがとう!

272 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 20:10:17.30 ID:rNkkKl6PM.net]
>>267
掴んでたらスルー

273 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 22:17:19.76 ID:aE3zz80C0.net]
>>256
起動時に何らかのファイルを参照するようにしておいて、
参照出来たらそのままOK。
出来なかったら、新たにファイルをDLする仕組みにする。

で、更新させたい時は、わざと参照用ファイルを消しておく。

274 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 22:24:00.58 ID:yzKWQsxd0.net]
>>273
xlamを共有するならそこのWorkbook_Open にそういう処理を入れておけばいいでしょうね

275 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 23:04:51.54 ID:kfbhC4dW0.net]
>>256
最新バージョン書いたテキストかなんかを共有に置いといて、起動時に見に行ってそれより古かったら更新促す警告出すとか

276 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 02:52:09.97 ID:gYF5enuVM.net]
Excelの起動時、マクロを実行させる:Excel(エクセル)マクロ
https://www.excel.usefulhp.com/excel-macro/excel-macro50.html
で良いだろ

277 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 09:22:35.60 ID:YDbG3YPmr.net]
共有パス見て実行とか大変そう面倒そうて主観があったけども
Application.Run "共有のパス!マクロ名 "
の1行でいけちゃうもんなのか…?
とりあえず試してみる
すでに誰かが開いてる?とか参照できないときの対処も色々試してみるありがとう

278 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 09:26:03.52 ID:PC2o5teB0.net]
>>277
そっちは使わないかな
俺はボタンにマクロの場所を登録する

279 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 09:26:30.66 ID:PC2o5teB0.net]
なんか日本語変だ
まぁいいか



280 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 12:25:15.46 ID:cM5KCNydp.net]
ちょっと筋外れるかもしれないけどvbeに行間なく詰めて書いたコードの選択範囲に1行ずつ改行入れるいい方法ない?

281 名前:デフォルトの名無しさん [2019/05/17(金) 12:28:45.29 ID:gxvYGXpT0.net]
そんなのできない。サクラエディタで置換して貼り付けろ

282 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 22:00:27.88 ID:BHkVW2uG0.net]
>>280
VBEを操作すればできると思う。面倒だけど
まあ>>281の方法が合理的だろうな

283 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 00:21:37.50 ID:qrQ2t1Xp0.net]
>>280
改行コードを改行コード+改行コードで置換

284 名前:デフォルトの名無しさん [2019/05/18(土) 00:55:20.52 ID:pDLl57eM0.net]
コードウィンドウ内の改行はCRLFじゃなくてLFだった筈。
そんなに難しくない。
でもこれが動く設定はマクロウィルスも動くから危険だよ。

Sub test()

Dim strCode As String
Dim stRW As Long
Dim stCL As Long
Dim edRW As Long
Dim edCL As Long

With Application.VBE.ActiveCodePane
.GetSelection stRW, stCL, edRW, edCL
strCode = .CodeModule.Lines(stRW, edRW - stRW + 1)
.CodeModule.DeleteLines stRW, edRW - stRW + 1
.CodeModule.InsertLines stRW, Replace(strCode, vbLf, vbLf & vbLf)
End With

End Sub

285 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 19:27:39.15 ID:4RzeW/b40.net]
専用のメソッドがあるのが凄いわ。
何を想定して用意してあるんだろう?
プログラムがプログラムを書き直すAIにでも使うのか?

286 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 20:16:07.59 ID:8gQadrhx0.net]
Application.VBE.ActiveCodePane
こんなの合ったのか
PaneはPanelかと思ったら、ペインの事なのね

287 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 20:29:02.38 ID:P5JmHxRDM.net]
VBEを拡張するためのオブジェクト群が用意されてるんだよね

288 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 09:22:38.02 ID:MCPGuHEx0.net]
Excel4マクロは自己書き換え自由だったから
機能的に負けるわけにはいかなかったんじゃね?

289 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 11:43:42.11 ID:1xMNIuy/x.net]
配布済マクロの修正パッチとかで大量のファイルや行を一括修正したいときは便利



290 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 12:03:05.34 ID:igxNvdy7a.net]
単価の低そうな涙ぐましい仕事だな

291 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 12:39:30.70 ID:gILK5dpZ0.net]
マクロ4はできる人がいない+やりたくないから単価超高いぞ
で、単価高くしても足が出る・・・

292 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 19:13:05.44 ID:7gg6L6p3p.net]
実行から終了まで数分かかるマクロを途中で止める方法ないですか?f4押したら「処理を止めました」のメッセージボックスとともに停止するとか。

293 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 19:31:11.94 ID:OX+uPiO40.net]
Break
ESC

294 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 19:37:07.71 ID:K+4dE9j10.net]
ループが長いならDoEvent入れておいて
msgbox "終了します"とendだけ書いたのを起動できるボタンどっかに置いとけばいい

295 名前:284 mailto:sage [2019/05/21(火) 20:04:23.19 ID:MD1oUmkY0.net]
ESCやBreakで止まるなら良いけど、それで止まらない処理ならウィンドウESC押しながらタスクバー上でマウスでウィンドウの切り替えをすると止まる。

どっかのブログで見て知ったけど役に立ってる。

296 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 21:15:28.57 ID:QvaiZxJv0.net]
こうする
https://youtu.be/h-xo-5krq2Y

297 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 21:30:20.69 ID:7gg6L6p3p.net]
ほー
明日試してみます

298 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 22:08:13.75 ID:R92gi7e40.net]
2009/12/16に公開って何だよ。
20年くらい前に見たぞそれ。

299 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 06:58:44.20 ID:SD95iW5CM.net]
>>298
映像はどうみても20年以上前だな
的確な対応で現在も使える



300 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 09:27:28.15 ID:ztZYN21m0.net]
セルの値を数式に代入って無理でしょうか?
たとえばA1セルに乱数が入ってた場合に
どっかのセルに =A2-乱数 という数式を代入したい感じです

301 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 09:41:17.90 ID:5+y7OppMM.net]
=A2-A1

302 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 09:43:43.65 ID:ogyeLG/uM.net]
演算あり値コピーの話?

303 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 09:52:11.18 ID:AHnUJ8Jk0.net]
いやセル番地じゃなくて値を数式に代入したい感じです
たとえばA1セルに2,134という数字が入ってた場合に
=A2-2,134 という数式をどっかのセルに代入

A1セルが387だとしたら
=A2-387

説明下手糞で申し訳ないです

304 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 09:54:20.78 ID:hC9fKDDe0.net]
>>300
書いている意味がよくわからんど
セルに式でも値でも代入できる
ただ、乱数は曲者で常に変わるから
もう少しやりたいことを具体的に書き込もう

305 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 10:00:56.85 ID:hC9fKDDe0.net]
>>303
乱数は曲者で
A1セルが387だとしたら
=A2-387
ほかのセルに「=A2-387」を入れた時点でA1セルは変わるから
もう少し何をしたいのか書くように

306 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 11:59:27.46 ID:zi+TqRd2r.net]
そもそも数式はスレ違いだろ
VBA関係ないならどっかエクセルの使い方の板かスレかさがせ

307 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 13:17:58.06 ID:/GezpU1zp.net]
>>305
A1セルの乱数結果が現時点で387だとしたら
変数(仮にrとする)に、387を格納して
ほかのセル(仮にB1とする)に"=A2-r(中身387)"を入力したいって事?

それなら確かに関数じゃできないよね

308 名前:284 mailto:sage [2019/05/22(水) 13:58:22.19 ID:WDej9GuM0.net]
>>303
Range("C3").Value="=A2-" & Range("A1").Value
じゃ駄目?

309 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 16:05:46.41 ID:hC9fKDDe0.net]
>>307
それに意味あると思えない、乱数なんてふつうは仕事に使わない
例えば、学校の先生あたりが、引き算足し算などの問題を自動的に作りたいとか
であれば、A列に乱数1の結果をB列に乱数2の結果を
C列に計算式を、D列に回答をで別シートなどで問題文を作る
このぐらいだな



310 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 18:12:45.70 ID:j7jZt3jJM.net]
説明下手糞ってレベルじゃねぇぞ…

311 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 18:48:51.39 ID:RRuRLAJCM.net]
>>309
ちょっとしたシミュレーションで使うかもしれない。(Excelでやるとは言ってない)

>>302じゃダメなの?

312 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 19:16:53.47 ID:CZzIGWUTM.net]
>>311
ちょっとしたシミュレーション・・無いだろ
この文書力だとセルに入れたい式って
計算式の文字列かもしれん

313 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 22:59:24.50 ID:bxcYYOqD0.net]
もうあれだ。
ここは、何の用途に使うのか当たられたやつが優勝スレにしよう。

314 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 23:13:17.16 ID:K7mhmRd90.net]
完全乱数を使って円周率の計算をする

315 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 07:43:57.81 ID:mLR+BkfhM.net]
別に用途は何でもいいさ
興味ゼロってわけじゃないけど

316 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 10:22:05.81 ID:WDXUv9KM0.net]
こっちで作って欲しいと言われたものをつくってると
そんなもの作られたら困る
楽になって人が減らされると困る、と古参がちくちく
この古参、自分の作業を楽にしたい時には
これがもう偉そうな態度で、「作らせてやる」とでも言わんばかりに頼んでくる
どうしたいんよもう

っていうことないっすか

もう面倒なんで職場で作るのやめようかな
すんません落書きしちゃって

317 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 10:56:07.55 ID:cSCM+dO10.net]
厚労省で配布されている
https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/000116890_00001.html
にある
https://www.mhlw.go.jp/content/10900000/000494621.xlsm
なんだけど、内容は単純で

1件いくらの検査があって、件数を入力すれば請求書が作成されるというもの
1シート=1自治体なので、複数の自治体へ請求する場合は、ユーザーがシートコピーして作る
VBAで各シートを集計して総括表に転写する

なんだけど、VBAみて
変数が多すぎてコーディング中に間違えても気づかんだろってのと
引っ張ってくるセルをConstで決め打ちしてるけど
これ後のメンテナンスでセル一個挿入することになったら修正大変やん と思いました。

というか、エラーメッセージの所で間違えて
行を表示すべきところを列表示しているけど
これこそ変数多すぎて分かりにくくした事が原因だと思います。

じゃあどうする、と言われたらみなさんならどうしますか?

同じ形の複数の2次元の表を合計するだけなんだから
スタート地点とゴール地点決めてやって
後はずらしていけばいいやんと思うのですが

後、小数とか負の値ぶっこんでも動作するのはモヤモヤするんだけど
まぁこの辺やりだしたらキリがないので使わせる相手によってどうするかは変えますかね

318 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 11:43:15.47 ID:mLR+BkfhM.net]
>>316
義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ、
と教えてやればいい。
もしかしたら「手下にプログラミングさせればいい」と勘違いするかも知れないが、
それでは通用しないよと言ってやろう。

こういう話もあるし
https://lite.blogos.com/article/376203/

319 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 16:11:36.77 ID:hFcQqqxb0.net]
>>316
ただ単純に業務全体を見ずに作るから役に立たないんだよ
業務に対して目的と効果を文書ではっきり示せば古参の意見を聞かなくていい



320 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 16:13:59.49 ID:X/3FpVKz0.net]
>>316
その古参の上司に報告しろ

321 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 16:14:38.98 ID:hFcQqqxb0.net]
>>317
すまん、リンク先を読む気もしない

322 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 17:56:30.55 ID:pyUsEGpsM.net]
>>317
べき論の先には「VBAを使うのをやめるべき」という結論しかないから不毛よ
俺ならどうするか?下請けに丸投げして終わりだよ

323 名前: mailto:sage [2019/05/23(木) 19:35:05.76 ID:QGT5qlDg0.net]
>>318
>義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ
脅かすことでプログラミングができるようになるとはおもいませんが…
プログラミングって極めて創造的な作業ではないでしょうか、似たようなものは数学の証明問題だと思いますが証明問題を脅かして解けるようになるとは思えません

324 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 20:39:50.63 ID:X/3FpVKz0.net]
機械学習やweb系ならともかく、
VBAレベルなら極めて事務的な仕事だろう。どこにも創造性なんて無いよ
ルーチンワークを自動化させてるだけ

325 名前: mailto:sage [2019/05/23(木) 20:58:31.34 ID:QGT5qlDg0.net]
>>324
でもそのルーチンワークを実際に記述するとなると一本道というわけにはいかないでしょう?
論理的な一貫性を維持しながらしたいことを記述するのは、いわれているほどやさしい仕事ではない

326 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 21:06:10.14 ID:X/3FpVKz0.net]
>>325
一本道だよ、全然難しくない
強いて言えば例外を先に全部列挙した上でシステムに放り込むという順序の変更がある程度

面倒なのは仕様変更と、使いにくいというオバハンの嬌声。オバハンにalt+F8は覚えさせたけど、まぁそれぐらい

327 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 22:12:48.96 ID:0Fgm70+GM.net]
まあ、自己満足で終わるなら簡単だな
おばはんにも満足いくように作るんだよ

328 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 22:27:50.56 ID:49rcJhkB0.net]
>>317
コンスト過ぎてワロタ。

329 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 22:55:08.55 ID:EGX4zlJj0.net]
>>323
それもそうだが、その老害を大人しく
させることができれば上出来と考えた



330 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 01:42:55.95 ID:9kKOGm+S0.net]
Excel2016にてpersonal.xlsbに「保存せず閉じて開き直すマクロ」を作ったところ挙動が変です

Sub ReOpen()
  Dim wb As Workbook
  Dim path As String
  Set wb = ActiveWorkbook
  path = wb.fullName

  '※1
  If MsgBox("本当に変更を取り消しますか?", vbYesNo) <> vbYes
    Exit Sub
  End If

  wb.Close(False)
  Application.Wait([Now() + "00:00:01"])

  '※2
  Workbooks.Open(path)
End Sub

このマクロ自体は動くのですが、※1のIf〜EndIfを消すと※2のOpen実行直後にExcelが通知無く落ちます
また、※1※2を両方消してマクロ実行した後、手動でブックを開き直すとやっぱりExcelが落ちます

対象のブックはフォームやマクロを含んだ3MB程度のxlsmファイルです
MsgBox出さないだけでなぜ不安定になるのか、思いつく原因を教えて頂けると幸いです

331 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 01:44:27.87 ID:9kKOGm+S0.net]
あ、Ifの末尾のThen忘れたので脳内で補完してください

332 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 06:40:29.33 ID:/lvzTPqGM.net]
>>331
ハイ イイエ が逆なのも利用者が自動変換するんですね

333 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 06:54:20.73 ID:/lvzTPqGM.net]
>>332
すまん、継続がキャンセルか

334 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 09:59:52.88 ID:RAYiE+wA0.net]
>>330
2019で試したけど落ちなかった
> Application.Wait([Now() + "00:00:01"])
これを抜いても同じ

カンで答えると、再計算が邪魔してるような気がする

・一度再計算や描画、イベントを切ってみてはどうかな
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

・あとはこの部分のウェイトをもう少し長くする
>Application.Wait([Now() + "00:00:01"])

・まっさらなブックで試してみる

335 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 07:54:51.56 ID:TRopVMeK0.net]
アドインって、ファイルを閉じたら、
一緒に閉じられるものだと思ってたけど、
VBA実行中は残るということか。
一緒に閉じられたら、途中で止まっちゃうからな。

336 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 08:55:38.15 ID:nkVbmNSl0.net]
vba実行中というかずっと残るっぽい

337 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 09:55:42.63 ID:wPp02VNQ0.net]
エクセルの機能に追加してるからな
アドイン使ったファイルをアドインがないエクセルで編集すると壊れるよね

338 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 10:07:50.37 ID:wPp02VNQ0.net]
>>330
経験上納得できない動作をするときは何か見落としているところがある
step実行で場所特定して、各変数の値が壊れてないか確認
イミディエイト画面で入力してみるなど

339 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 10:14:01.11 ID:D2XIJyZK0.net]
Excelに限って言えば、Excel自体に変な仕様が多い
これが男を惑わせる



340 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 04:10:46.96 ID:xQGdFtWrM.net]
>>334
元に戻さないアホがいると大迷惑になるな
>>335
アドインはExcelに組み込むよね
>>339
配列数式なんか使うとブーイングになるよな

341 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 15:23:19.13 ID:/taseRUt0.net]
以下の状態だとB1〜B3は全て1:1048576と表示されてしまいます
Cells.SpecialCellsをRange("A1").SpecialCellsに変更した場合はB1〜B3は全てA1と表示されます
Ctrl + Endで選択されるセルの番地を文字列として取得するにはどうすればいいですか?

  A    B
1 Sheet1 =fn(A1)
2 Sheet2 =fn(A2)
3 Sheet3 =fn(A3)

Public Function fn(sSheetName As String) As String

fn = ActiveWorkbook.Worksheets(sSheetName).Cells.SpecialCells(xlCellTypeLastCell).Address(False, False)

End Function

342 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 15:41:58.63 ID:/taseRUt0.net]
関数呼び出しではなくマクロやボタンクリックでなら問題なかったので
そっちの方法に切り替えますすみません

343 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 06:52:50.90 ID:lha2yOvQp.net]
入力項目を複数用意したinputboxって作れますか?

344 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 07:55:59.33 ID:6csejWaN0.net]
>>343
どんなものを考えているんだ

345 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 08:12:50.88 ID:lha2yOvQp.net]
>>343
ごめん入力フォームじゃなくていいかも
最終的にやりたいことは、以下のボタン等が設置されたユーザーフォームを作ることです(他の要素も考えたら普通にinput boxでは無理と気づきました)
・AUTO openで開く
・押すと特定セルに文字が入力されるボタンを複数設置する
・カレンダーを設置する
・押すと印刷処理を行いつつファイルを上書き保存し閉じるボタンを設置する

346 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 08:30:52.72 ID:jh6nOFVKM.net]
>>345
こんな特殊なものAUTO openでやるって非常識だな
シートのマクロで十分だろてかマクロは印刷して保存だけでいいだろ
それも自動記録でも十分

347 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 08:37:02.21 ID:jh6nOFVKM.net]
Excelの勉強不足だろ

348 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 08:47:00.50 ID:6csejWaN0.net]
>>345
それユーザーフォームにする必要がないような
ユーザーフォーム超めんどいから止めたほうがいいよ
あと、カレンダーはデイトピッカーと言う

349 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 09:45:56.73 ID:W0zr6KdF0.net]
この程度の理解力だとカレンダーが必要かもわからない
カレンダーなんか別にシートでもできるけど、どこまで使うかがわからないから
最適な解もわからない
入力をシートに反映するなんて普通にセルを参照すればいいだけ
ExcelもVBAも1%以下の理解で動作仕様を描くのではなく結果で何をしたいかを描くべき
これでも少しおだててるが



350 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 10:37:56.08 ID:6csejWaN0.net]
おだてるの意味間違えてるよ。

351 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 10:41:41.92 ID:W0zr6KdF0.net]
>>350
いや〜そうでもないよ
理解力は両方とも0.1%〜0.01%程度と思ってたから






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

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

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