スレ立ての際は一行目に
!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 VBA 質問スレ Part51
http://mevius.2ch.net/test/read.cgi/tech/1510107990/
Excel VBA 質問スレ Part52
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/01/27(土) 20:25:05.67ID:Xe+uGT7T367デフォルトの名無しさん
2018/03/11(日) 23:24:33.00ID:iweXkOC/ データのある最終行を取得したいのですが、
うまくうごきません。
Range("A10", Cells(Rows.Count, 1)).End(xlUp).Select
A10から下に続く最後の行数(データ個数15個、空白なし)を取得したいのですが、
なぜか返ってくる数は24ではなく、
1048575です。
知識が浅く、解決できません。
どなたかご助言お願いします。
うまくうごきません。
Range("A10", Cells(Rows.Count, 1)).End(xlUp).Select
A10から下に続く最後の行数(データ個数15個、空白なし)を取得したいのですが、
なぜか返ってくる数は24ではなく、
1048575です。
知識が浅く、解決できません。
どなたかご助言お願いします。
368デフォルトの名無しさん
2018/03/11(日) 23:30:27.72ID:XQUvZIO5 Range("A10").End(xlDown).Select
369デフォルトの名無しさん
2018/03/11(日) 23:47:11.35ID:iweXkOC/370デフォルトの名無しさん
2018/03/12(月) 00:02:45.31ID:HsTapSs6 シート1〜10まであって、a+b=cって計算を、シート1〜7で行ってます
aとbは入力シートに入力した数値で、各シートが、個別に入力シートから引っ張ってきています
各シートで同じ変数を元に同じ計算をしてるが作り方って変ですかね?
なんでそんなことしてるの?というと、検討するシートを1つ作って、そのあと別検討シートを追加、という作り方をしていった結果、検討内容自体は違うものの、共通の計算があるっていう状態になっていて、特に意識したわけではないです
このエクセルを整理することを考えた時、共通の計算は、別個シートを作って、そこで計算させておくべきでしょうか??
aとbは入力シートに入力した数値で、各シートが、個別に入力シートから引っ張ってきています
各シートで同じ変数を元に同じ計算をしてるが作り方って変ですかね?
なんでそんなことしてるの?というと、検討するシートを1つ作って、そのあと別検討シートを追加、という作り方をしていった結果、検討内容自体は違うものの、共通の計算があるっていう状態になっていて、特に意識したわけではないです
このエクセルを整理することを考えた時、共通の計算は、別個シートを作って、そこで計算させておくべきでしょうか??
371デフォルトの名無しさん
2018/03/12(月) 05:43:32.66 シートが必須なの?
標準モジュールじゃあかんの?
標準モジュールじゃあかんの?
372デフォルトの名無しさん
2018/03/12(月) 12:42:37.39ID:cBxGAu9U UserFormの部品の位置を微調整するために、
ズーム表示させる方法はありませんか?
(今は、Windows標準の拡大鏡を使ったりしています)
ズーム表示させる方法はありませんか?
(今は、Windows標準の拡大鏡を使ったりしています)
373デフォルトの名無しさん
2018/03/12(月) 14:30:50.92ID:Bvz0V3Xa >>372
微調整なら数値からやればいいのでは
微調整なら数値からやればいいのでは
374デフォルトの名無しさん
2018/03/12(月) 17:18:50.94ID:UMPN+oMV スペースがあるかないかもわからん馬鹿がなぜそんなことを気にするかね
375デフォルトの名無しさん
2018/03/12(月) 18:40:09.24ID:BreNV4lT376デフォルトの名無しさん
2018/03/13(火) 00:27:26.72ID:qWMLlpqF UserFormを作成中にF5押下でお試し実行ができますが、
普通にやるとモーダルになります。
F5押下でもモードレスで実行する方法ってありますか?
普通にやるとモーダルになります。
F5押下でもモードレスで実行する方法ってありますか?
377デフォルトの名無しさん
2018/03/13(火) 01:15:13.77 >>376
UserFormのShowModalプロパティをFalseにする
UserFormのShowModalプロパティをFalseにする
378デフォルトの名無しさん
2018/03/13(火) 01:17:05.94ID:qWMLlpqF379デフォルトの名無しさん
2018/03/13(火) 07:54:16.83ID:j6R4vUCh >>378
いいってことよ(´・ω・`)b
いいってことよ(´・ω・`)b
380デフォルトの名無しさん
2018/03/13(火) 11:51:11.57ID:pjKAsbJg ここはレベル高ぇ。
でも、みんな、協力しているのはとても嬉しいです。
勉強になる。
ありがとうございます。
でも、みんな、協力しているのはとても嬉しいです。
勉強になる。
ありがとうございます。
381デフォルトの名無しさん
2018/03/13(火) 17:49:20.30ID:Fj3wIRvx よろしくお願いします。年1のプレイヤーです。
商品コード(1000〜1000000)に対して、別シートにある原価を
vlookupで検索し、商品コードの右セルに代入しようとしているのですが
1000番台はエラーにならず、200000台からエラーになってしまいます
(1000番台の次は200000台にコードが飛びます)
「worksheetfunctionクラスのVlookupプロパティを取得できません」
なにが原因かわからなくてヘルプお願いします。
=================================================
For i = 2 To 最終行
原価 = 0
With Sheets("原価")
原価 = WorksheetFunction.VLookup(Cells(i, 商品コード列), .Range(.Cells(1, 1), .Cells(10, 1000)), 6, False)
End With
Next i
商品コード(1000〜1000000)に対して、別シートにある原価を
vlookupで検索し、商品コードの右セルに代入しようとしているのですが
1000番台はエラーにならず、200000台からエラーになってしまいます
(1000番台の次は200000台にコードが飛びます)
「worksheetfunctionクラスのVlookupプロパティを取得できません」
なにが原因かわからなくてヘルプお願いします。
=================================================
For i = 2 To 最終行
原価 = 0
With Sheets("原価")
原価 = WorksheetFunction.VLookup(Cells(i, 商品コード列), .Range(.Cells(1, 1), .Cells(10, 1000)), 6, False)
End With
Next i
382デフォルトの名無しさん
2018/03/13(火) 17:57:59.90383381
2018/03/13(火) 18:11:15.85ID:Fj3wIRvx すみません。解決しました。
384デフォルトの名無しさん
2018/03/14(水) 01:32:37.37ID:jWcIaZnH 済んだハナシで済みません
385デフォルトの名無しさん
2018/03/14(水) 20:38:23.29ID:LX5CWuB3 IEやExcelを非アクティブのままバッチ処理してると、CPUやメモリをやたら消費するのはなんでだろ?
AppActivateで対処はできてるけど、理由が分からないのが気持ち悪い
(ちなみにAppActivateは自アプリを前面にできないのはなんでだろ?いちいち別のVBSを呼び出してる)
Excelが「遅くなる」点については調べてる人がいて、「非アクティブでは遠慮して動くから」と
CPUが櫛型に動いてる様子を紹介してた
ならCPU使用率が下がるはずなのに現実は逆で、やたら使用率が上がり、メモリも何倍も上がる
遅い分イベントが貯まってスタックが貯まってメモリが上がって、そのためにCPUも上がるのかな
「遠慮する」機構が裏目に出てるのかな
AppActivateで対処はできてるけど、理由が分からないのが気持ち悪い
(ちなみにAppActivateは自アプリを前面にできないのはなんでだろ?いちいち別のVBSを呼び出してる)
Excelが「遅くなる」点については調べてる人がいて、「非アクティブでは遠慮して動くから」と
CPUが櫛型に動いてる様子を紹介してた
ならCPU使用率が下がるはずなのに現実は逆で、やたら使用率が上がり、メモリも何倍も上がる
遅い分イベントが貯まってスタックが貯まってメモリが上がって、そのためにCPUも上がるのかな
「遠慮する」機構が裏目に出てるのかな
386デフォルトの名無しさん
2018/03/14(水) 21:36:34.44ID:e3akNBzY >>385
一目で馬鹿とわかる文章
一目で馬鹿とわかる文章
387デフォルトの名無しさん
2018/03/14(水) 21:38:17.91ID:QheYb9tS IE, Excel などのプロセスを終了していないとか?
ドンドン起動しても終了しないから、プロセスが無限に増えていってるとか?
タスクマネージャーで見れば?
ドンドン起動しても終了しないから、プロセスが無限に増えていってるとか?
タスクマネージャーで見れば?
388デフォルトの名無しさん
2018/03/14(水) 22:18:16.08ID:LX5CWuB3389デフォルトの名無しさん
2018/03/14(水) 23:50:59.44ID:+W/Ve/Kf >>388
馬鹿丸出し
馬鹿丸出し
390387
2018/03/14(水) 23:58:49.45ID:QheYb9tS 例えば、コマンドプロンプトから、Ruby を起動して、そのソースコードから、
Selenium WebDriver で、ブラウザを起動すると、
これらは、GUI のプロセスだから、プロセスに親子関係がある。
(親) コマンドプロンプト → Ruby (子) → ブラウザ (孫)
だから、親か子を終了すると、孫のブラウザも終了する
でも、VBScript(VBS) などで、CUI モードを使うと、親子関係を断ち切るから、
(親) VBS → ブラウザ・Excel (子)
VBS を終了しても、ブラウザ・Excel は終了されない。
子プロセスを、自分で管理せず、OS に任せている状態になる
Selenium WebDriver で、ブラウザを起動すると、
これらは、GUI のプロセスだから、プロセスに親子関係がある。
(親) コマンドプロンプト → Ruby (子) → ブラウザ (孫)
だから、親か子を終了すると、孫のブラウザも終了する
でも、VBScript(VBS) などで、CUI モードを使うと、親子関係を断ち切るから、
(親) VBS → ブラウザ・Excel (子)
VBS を終了しても、ブラウザ・Excel は終了されない。
子プロセスを、自分で管理せず、OS に任せている状態になる
392385
2018/03/15(木) 01:06:52.75ID:3pohbyhz >>390
あ、分かった、俺が悪かった
タスクスケジューラで直接エクセルを起動した場合は、この現象起きなかった気がする
DOSのバッチ経由で起動すると起きる気がする
で、「OSに任せる」と、非アクティブ時に無駄にCPUとメモリを食うと
なるほど
留意点は分かったけど、理屈は分からんw
あ、分かった、俺が悪かった
タスクスケジューラで直接エクセルを起動した場合は、この現象起きなかった気がする
DOSのバッチ経由で起動すると起きる気がする
で、「OSに任せる」と、非アクティブ時に無駄にCPUとメモリを食うと
なるほど
留意点は分かったけど、理屈は分からんw
393387
2018/03/15(木) 01:42:16.85ID:NnpmsWbw プロセスには、2種類ある
ユーザーが管理している、画面を持つ(GUI)プロセスと、
OS が管理している、画面を持たない(CUI)、
バックグラウンドで動作する、サーバーのようなプロセス
上は、プロセスに親子関係があるけど、
下は、OS がプロセスの親になるとか?
ユーザーが管理している、画面を持つ(GUI)プロセスと、
OS が管理している、画面を持たない(CUI)、
バックグラウンドで動作する、サーバーのようなプロセス
上は、プロセスに親子関係があるけど、
下は、OS がプロセスの親になるとか?
394デフォルトの名無しさん
2018/03/15(木) 06:34:45.23ID:z1/gBAj5 フォルダ内の複数のエクセルファイルを開いて指定シートをコピーして閉じるを繰り返したい。コピーするシートは各エクセルに対して1シートのみ。
シート名は個人名でそれぞれバラバラなんだけどいい方法ない?
シート名は個人名でそれぞれバラバラなんだけどいい方法ない?
395デフォルトの名無しさん
2018/03/15(木) 06:42:29.06ID:VNc1eFwU 1シートしかないブックにする
396デフォルトの名無しさん
2018/03/15(木) 07:23:11.51397デフォルトの名無しさん
2018/03/15(木) 08:20:13.69ID:Q+OFwlGZ 質問です。
whatif のデータテーブルで、sheet1にある式をsheet2から参照したいのですが、「代入セルの参照が正しくありません。」というエラーが出ます。
sheet1の同じシート内でやる時はエラーは出ないのですが、別シートは参照出来ないのでしょうか。
whatif のデータテーブルで、sheet1にある式をsheet2から参照したいのですが、「代入セルの参照が正しくありません。」というエラーが出ます。
sheet1の同じシート内でやる時はエラーは出ないのですが、別シートは参照出来ないのでしょうか。
398デフォルトの名無しさん
2018/03/15(木) 08:24:47.39 >>397
VBAの質問じゃなくね?
VBAの質問じゃなくね?
399デフォルトの名無しさん
2018/03/15(木) 12:47:59.22ID:kdbViSCg メゾット君いて草
400デフォルトの名無しさん
2018/03/15(木) 13:26:06.11ID:GiNZbVBW >>397
馬鹿は死ねよ
馬鹿は死ねよ
401デフォルトの名無しさん
2018/03/15(木) 19:29:22.65ID:givVJukY402デフォルトの名無しさん
2018/03/15(木) 21:40:55.79ID:khWCS+hx 入力規則でセルに選択リストを作りました
で、セルのプルダウンで選んだアイテムが
何行目か?っていうのを知りたいんだけれど
doとかfor文でリスト先頭から一致検索するしかないのかな?
一発でアイテムのカウント何件目か取得する事って出来たりするんかなぁ?
で、セルのプルダウンで選んだアイテムが
何行目か?っていうのを知りたいんだけれど
doとかfor文でリスト先頭から一致検索するしかないのかな?
一発でアイテムのカウント何件目か取得する事って出来たりするんかなぁ?
403デフォルトの名無しさん
2018/03/15(木) 22:18:17.27ID:obWJCYhi match関数で行けないかな?
404デフォルトの名無しさん
2018/03/16(金) 07:44:18.61ID:D9gIY3FC >>394なんだが、フォルダ内のエクセルをループして開いて、目的のシートのオブジェクト名を統一してファイル開いてオブジェクト名をfor eachでヒットさせて、functionでそのシートをテキストにしたいんだがどうすればいい?ループさせてヒットさせるまではできた。
結果txtファイルは同フォルダ内の1個あってそれに更新して書き込んで行きたいんだが。
誰か教えて下さい。
結果txtファイルは同フォルダ内の1個あってそれに更新して書き込んで行きたいんだが。
誰か教えて下さい。
405デフォルトの名無しさん
2018/03/16(金) 08:28:41.10ID:qMVu/e+c 意味わからんしほぼ丸投げ感ある
406デフォルトの名無しさん
2018/03/16(金) 08:55:16.84ID:4vfDYpgH csvにエクスポートでもすればいいよ
マクロの記録でコード作れば
マクロの記録でコード作れば
407デフォルトの名無しさん
2018/03/16(金) 17:01:45.82ID:tJ/sJf9+ 全キャラエリーン化MOD希望します
408デフォルトの名無しさん
2018/03/16(金) 17:02:19.93ID:tJ/sJf9+ 誤爆w
409デフォルトの名無しさん
2018/03/16(金) 22:56:27.26ID:hrS8kMFb >>404だけどネットで探しながら作ってみてできたんだけど、
一回目のエクセルブックの指定したシートをoutputでテキストファイルに書き込み。2回目以降をApend?だっけ?で続きに書き込んでいくんだけど、outputとApend の違いだけで書き込みコードが2つあるのを一つにまとめるにはどうしたら出来ますか?
一回目のエクセルブックの指定したシートをoutputでテキストファイルに書き込み。2回目以降をApend?だっけ?で続きに書き込んでいくんだけど、outputとApend の違いだけで書き込みコードが2つあるのを一つにまとめるにはどうしたら出来ますか?
410デフォルトの名無しさん
2018/03/16(金) 23:04:26.61ID:ikUU8ykN411デフォルトの名無しさん
2018/03/17(土) 00:32:21.24412デフォルトの名無しさん
2018/03/17(土) 06:33:04.45ID:n47xCJZ+ 質問です
今EXCELで対戦格闘ゲームを作っているのですが
キャラクター同士の当たり判定は
それぞれ攻撃用、体用と別々に持つことで
正しく動いています。
ただ攻撃が当たった時のヒットマークを表示する位置を
どのように算出すれば良いかが思いつきません。
何か良い方法はないでしょうか?
ちなみにキャラクターはシートのセルを方眼紙のように見立てて
横256*縦200で1セルを1ドットに見立てて行っています。
今EXCELで対戦格闘ゲームを作っているのですが
キャラクター同士の当たり判定は
それぞれ攻撃用、体用と別々に持つことで
正しく動いています。
ただ攻撃が当たった時のヒットマークを表示する位置を
どのように算出すれば良いかが思いつきません。
何か良い方法はないでしょうか?
ちなみにキャラクターはシートのセルを方眼紙のように見立てて
横256*縦200で1セルを1ドットに見立てて行っています。
413デフォルトの名無しさん
2018/03/17(土) 07:23:19.78ID:n47xCJZ+ 言い忘れていましたが
当たり判定は各キャラクターの動作毎、絵柄毎に
攻撃用が1〜3個、体用が1〜5個の四角い範囲を持っていて
それが重なったかどうかで判定を行なっています。
動作とは例えば小パンチとか、大パンチとかを指します。
同じ絵柄でも違う動作の場合は
違う範囲で当たり判定を行えるようにしています。
当たり判定は各キャラクターの動作毎、絵柄毎に
攻撃用が1〜3個、体用が1〜5個の四角い範囲を持っていて
それが重なったかどうかで判定を行なっています。
動作とは例えば小パンチとか、大パンチとかを指します。
同じ絵柄でも違う動作の場合は
違う範囲で当たり判定を行えるようにしています。
414デフォルトの名無しさん
2018/03/17(土) 07:48:47.16ID:71uTBaAx415デフォルトの名無しさん
2018/03/17(土) 08:14:30.06ID:n47xCJZ+416デフォルトの名無しさん
2018/03/17(土) 08:23:52.27ID:0VMaqrOi417デフォルトの名無しさん
2018/03/17(土) 09:02:41.97ID:8EqoOoha 生きる!!!!!
(´・ω・`)b
(´・ω・`)b
418デフォルトの名無しさん
2018/03/17(土) 09:10:30.63ID:71uTBaAx >>415
「ゲームプログラミングなら俺に聞け」とか、そういうスレの方が絶対いいと思う
「ゲームプログラミングなら俺に聞け」とか、そういうスレの方が絶対いいと思う
419デフォルトの名無しさん
2018/03/17(土) 11:01:00.47ID:plFeqth9 ヒットマークとやらをどう表示したいのかも書いてない
こんなんで回答がつくわけない
質問の体を装ったただの俺こんなの作ってるスゲーだろアピール
こんなんで回答がつくわけない
質問の体を装ったただの俺こんなの作ってるスゲーだろアピール
420デフォルトの名無しさん
2018/03/17(土) 12:28:23.68ID:zttMJW/5 当たり判定とヒットマークの位置関係だけあらかじめ決めておいて、あとはヒットした当たり判定のセル位置のアドレスなり座標なりからオフセット参照するだけじゃん
421デフォルトの名無しさん
2018/03/17(土) 12:53:01.02ID:0VMaqrOi422デフォルトの名無しさん
2018/03/17(土) 13:02:49.05ID:JhGe8NGg マウントって簡単に言いすぎ
倫理をふりかざして人を委縮させようとする言動に限らないと
言葉の力がなくなってしまう
倫理をふりかざして人を委縮させようとする言動に限らないと
言葉の力がなくなってしまう
423デフォルトの名無しさん
2018/03/17(土) 13:38:51.05ID:heA3uIoa424デフォルトの名無しさん
2018/03/17(土) 14:18:21.64ID:7XiT0JZV >>412
もしかして当たった位置が判らないということですか?
もしかして当たった位置が判らないということですか?
425デフォルトの名無しさん
2018/03/17(土) 15:07:46.54ID:JHaB3/LC >>412
へぇ、このスレでは珍しい質問だね。
あくまでひとつの方法としての提案だけど、
当たり判定が出来るということは攻撃範囲と体範囲って呼んでるけど、
それが重なったことは判定出来てるんだよね?
なら重なった範囲の中心にヒットマークを出すようにすればいいと思うよ。
つまりキャラAの右下セルよりキャラBの左上セルが
左上にあって、かつ
キャラAの左上セルよりキャラBの右下セルが右下にある場合、これがキャラが重なった「当たった」ことに該当するんだけど、
この状態からキャラAの右下セルからキャラBの左上セルの縦横それぞれの差分を出して
それを2で割ってキャラAの右下セルの縦と横にそれぞれ足してやれば求められるはず。
後は複数判定用の範囲を持ってるというところで
どの範囲を優先するかの優先順位をつけて。
頑張って下さいね。
へぇ、このスレでは珍しい質問だね。
あくまでひとつの方法としての提案だけど、
当たり判定が出来るということは攻撃範囲と体範囲って呼んでるけど、
それが重なったことは判定出来てるんだよね?
なら重なった範囲の中心にヒットマークを出すようにすればいいと思うよ。
つまりキャラAの右下セルよりキャラBの左上セルが
左上にあって、かつ
キャラAの左上セルよりキャラBの右下セルが右下にある場合、これがキャラが重なった「当たった」ことに該当するんだけど、
この状態からキャラAの右下セルからキャラBの左上セルの縦横それぞれの差分を出して
それを2で割ってキャラAの右下セルの縦と横にそれぞれ足してやれば求められるはず。
後は複数判定用の範囲を持ってるというところで
どの範囲を優先するかの優先順位をつけて。
頑張って下さいね。
426デフォルトの名無しさん
2018/03/17(土) 22:00:46.63ID:plFeqth9 自演死ね
427デフォルトの名無しさん
2018/03/18(日) 01:02:38.92ID:5x2puHKk 教えてください。
別ブックを範囲(A10:B24)指定してコピーして
現在のブックA10をはじめとした範囲にペーストしたいのですが、
なぜか参照ブックをアクティブにした上で範囲指定ができません。
最初のブック・・・A.xlsm
参照ブック・・・nal.xls 参照シート:sheet10
参照ブックのデータ最終行・・・i (24が入っています)
Dim i As Integer
Workbooks("nal.xls").Activate
i = Worksheets("sheet10").Range("A10").End(xlDown).Row
Workbooks("nal.xls").Activate
Worksheets("sheet10").Activate
Range(Cells(10, 1), Cells(i, 2)).Select ←RangeクラスのSelectメソッドが失敗しました。
Selection.Copy
どなたか助けてください。
別ブックを範囲(A10:B24)指定してコピーして
現在のブックA10をはじめとした範囲にペーストしたいのですが、
なぜか参照ブックをアクティブにした上で範囲指定ができません。
最初のブック・・・A.xlsm
参照ブック・・・nal.xls 参照シート:sheet10
参照ブックのデータ最終行・・・i (24が入っています)
Dim i As Integer
Workbooks("nal.xls").Activate
i = Worksheets("sheet10").Range("A10").End(xlDown).Row
Workbooks("nal.xls").Activate
Worksheets("sheet10").Activate
Range(Cells(10, 1), Cells(i, 2)).Select ←RangeクラスのSelectメソッドが失敗しました。
Selection.Copy
どなたか助けてください。
428デフォルトの名無しさん
2018/03/18(日) 03:11:59.88ID:Ml7D0I3C 複数シートでゴニョゴニョする際は
Worksheets("sheet10").Range(Worksheets("sheet10").Cells(10, 1), Worksheets("sheet10").Cells(i, 2)).Select
と略さずに書くといいよ
デバッグ中につい違うページ開いちゃうと後で泣きを見る
Worksheets("sheet10").Range(Worksheets("sheet10").Cells(10, 1), Worksheets("sheet10").Cells(i, 2)).Select
と略さずに書くといいよ
デバッグ中につい違うページ開いちゃうと後で泣きを見る
429デフォルトの名無しさん
2018/03/18(日) 03:58:35.89ID:JrJJTzVM Aブックに、BブックをOpenするコードが書いてあります。
困ったことにBブックが正常に開くこともあれば、
長時間たってもビジー状態が続き開かないこともあります。
これはAブックから開くときだけでなく、Bブックのアイコンをダブルクリックしても同様です。
そんなときでも、エクセルを強制終了した後にBブックを開くとなぜか問題なく開くことも多いです。
Bブックの問題を取り除くのが正しい方法なんでしょうが、とりあえずの対策として、
wb = Workbooks.Open(strPath & "\" & "B.xslm")
で、AブックがBブックをOpenした後に一定時間経過後にBブックの特定のセルの内容を読み取れなければ、
Bブックを強制的に閉じて、再度Bブックを開き直すというコードを書こうと思ったのですが、
wb = Workbooks.Open(strPath & "\" & "B.xslm") を実行すると、
Bブックが開くまでAブックのマクロが止まってしまい、Bブックのセルが読めるかどうか判定することができません。
どうしたらよいでしょうか?
困ったことにBブックが正常に開くこともあれば、
長時間たってもビジー状態が続き開かないこともあります。
これはAブックから開くときだけでなく、Bブックのアイコンをダブルクリックしても同様です。
そんなときでも、エクセルを強制終了した後にBブックを開くとなぜか問題なく開くことも多いです。
Bブックの問題を取り除くのが正しい方法なんでしょうが、とりあえずの対策として、
wb = Workbooks.Open(strPath & "\" & "B.xslm")
で、AブックがBブックをOpenした後に一定時間経過後にBブックの特定のセルの内容を読み取れなければ、
Bブックを強制的に閉じて、再度Bブックを開き直すというコードを書こうと思ったのですが、
wb = Workbooks.Open(strPath & "\" & "B.xslm") を実行すると、
Bブックが開くまでAブックのマクロが止まってしまい、Bブックのセルが読めるかどうか判定することができません。
どうしたらよいでしょうか?
430デフォルトの名無しさん
2018/03/18(日) 04:24:15.80ID:/1Of5770 >>429
開けていないものを閉じろと言うのは無理ゲー
開けていないものを閉じろと言うのは無理ゲー
431デフォルトの名無しさん
2018/03/18(日) 06:47:14.19ID:JFJ3EKTR 最初にタスクマネージャーで、
起動中のすべてのExcel を、強制終了させてから実行すれば?
たぶん、起動中のExcel が、そのブックをつかんでいるのだろう
起動中のすべてのExcel を、強制終了させてから実行すれば?
たぶん、起動中のExcel が、そのブックをつかんでいるのだろう
432412
2018/03/18(日) 11:12:47.56ID:l25Pelu+433デフォルトの名無しさん
2018/03/18(日) 11:21:02.32ID:A1IN0XTG >>432
VBA初心者でこのスレをたまにチラチラ見ているものですが
「EXCELで対戦格闘ゲーム」ってものがどういうものなのか全然想像できないです
(どうやったらそんなことできるの! てかどんな画面になるの!! 状態です)
もしよろしければ、何か雰囲気の掴めそうな画像か
もしくは、そういう人たちが作ったゲームのリンクなどを紹介していただけると嬉しいです
VBA初心者でこのスレをたまにチラチラ見ているものですが
「EXCELで対戦格闘ゲーム」ってものがどういうものなのか全然想像できないです
(どうやったらそんなことできるの! てかどんな画面になるの!! 状態です)
もしよろしければ、何か雰囲気の掴めそうな画像か
もしくは、そういう人たちが作ったゲームのリンクなどを紹介していただけると嬉しいです
434427
2018/03/18(日) 21:11:28.30ID:5x2puHKk >>428
お返事遅くなってすみません。
コード丸写しで略さずにかいたところ、うまく動きました。
エラーの前のbookとsheetをアクティブにしただけでは足りなかったようで。
勉強になりました。
ありがとうございました。
お返事遅くなってすみません。
コード丸写しで略さずにかいたところ、うまく動きました。
エラーの前のbookとsheetをアクティブにしただけでは足りなかったようで。
勉強になりました。
ありがとうございました。
435デフォルトの名無しさん
2018/03/18(日) 21:34:46.44ID:utQAsfrI on
436デフォルトの名無しさん
2018/03/18(日) 21:35:52.97ID:utQAsfrI ontimeでopenするとかは?
437デフォルトの名無しさん
2018/03/19(月) 07:21:13.16ID:We1Ev2gv >>433
ちと古いけどこういうのがある
Excel VBA アクションゲーム作成入門 Excel 2007/2003/2002 対応
https://book.impress.co.jp/books/2686
ちと古いけどこういうのがある
Excel VBA アクションゲーム作成入門 Excel 2007/2003/2002 対応
https://book.impress.co.jp/books/2686
438デフォルトの名無しさん
2018/03/19(月) 20:14:20.80ID:uXl73OAC >>437
紹介ありがとうだけど…、本だとやっぱりよく実感がつかめない…
でその本のタイトルで色々ググってみたら実際にゲームをやってる動画が出てきた
エクセルでスーパーマリオを作ってみた
http://www.nico video.jp/watch/sm12052293
Excelでこんなものが作れちゃうってすごい!(というか見てもなお信じられないが)
紹介ありがとうだけど…、本だとやっぱりよく実感がつかめない…
でその本のタイトルで色々ググってみたら実際にゲームをやってる動画が出てきた
エクセルでスーパーマリオを作ってみた
http://www.nico video.jp/watch/sm12052293
Excelでこんなものが作れちゃうってすごい!(というか見てもなお信じられないが)
439デフォルトの名無しさん
2018/03/19(月) 20:59:21.19ID:Lmqu9UWt440デフォルトの名無しさん
2018/03/19(月) 22:27:28.31ID:bkGJBs4p スーパーマリオのDLLとかあるんか?
すげーなエクセルって
すげーなエクセルって
441デフォルトの名無しさん
2018/03/19(月) 23:08:18.69ID:SfVA8M0M >>440
DLLは自分でいくらでも作れるし、スーパーマリオもDLL化は可能だけど普通はそんなバカなことはやらない
DLLは自分でいくらでも作れるし、スーパーマリオもDLL化は可能だけど普通はそんなバカなことはやらない
442デフォルトの名無しさん
2018/03/20(火) 00:08:55.57ID:w5UAsH4d443デフォルトの名無しさん
2018/03/20(火) 00:13:05.69ID:XeOK7PK4444デフォルトの名無しさん
2018/03/20(火) 01:20:07.81ID:NBntR4Uy はいはい、メゾット君は無視しましょうね〜
445デフォルトの名無しさん
2018/03/20(火) 06:01:07.86ID:w5UAsH4d メゾット野郎はいつも口先ばかりwwwwwwww
違うってんならゲーム作ってみせろ無能wwwwwwwwwww
違うってんならゲーム作ってみせろ無能wwwwwwwwwww
446デフォルトの名無しさん
2018/03/20(火) 08:02:11.84ID:Su8VuYEw ゲームをエクセルで作る意味って何があるの?
447デフォルトの名無しさん
2018/03/20(火) 08:03:53.80ID:TJC60I00 意味は他人に教わるものじゃない
自分で見出すのだ
自分で見出すのだ
448デフォルトの名無しさん
2018/03/20(火) 08:14:23.93ID:mdjnVZmX やろうと思えばできるって言ってもなあ
やってない人が言ってもみたいな
やってない人が言ってもみたいな
449デフォルトの名無しさん
2018/03/20(火) 08:32:50.91ID:Su8VuYEw マリオのゲームってもコントロールしてるわけじゃないでしょ?
ドットに色表示してるだけじゃないの?
ドットに色表示してるだけじゃないの?
450デフォルトの名無しさん
2018/03/20(火) 09:49:54.48ID:uUCQMwFd451デフォルトの名無しさん
2018/03/20(火) 15:10:05.57ID:HXa9qFC5452デフォルトの名無しさん
2018/03/20(火) 16:00:38.63ID:J0Id73NT DLLしたあとインスコするんだったっけ。
453デフォルトの名無しさん
2018/03/20(火) 19:53:45.15ID:FFuoeUFR >>452
同じフォルダに置いておけば使えるだろw
同じフォルダに置いておけば使えるだろw
454デフォルトの名無しさん
2018/03/20(火) 20:20:30.33ID:GZSZ4At9 ボケ殺し
455デフォルトの名無しさん
2018/03/20(火) 22:16:37.59ID:BysB7y8w アスペなんやで
456デフォルトの名無しさん
2018/03/20(火) 22:48:23.28ID:9kggXYDo 質問です。
任意のフォルダ(ThisBookと同じフォルダ)の中にある
xlsファイルの数を取得する方法を考えています。
Dim N as Integer
With CreateObject("Scripting.FileSystemObject")
For Each ff In .GetFolder(ThisWorkbook.Path).Files
If UCase(.GetExtensionName(ff.Path)) = "xls" Then N = N + 1
Next
End With
ネットで調べてみたものの、カウントがされません。
現在対象のフォルダにはxlsファイルが一つあります。
どこを修正すれば良いのでしょうか。
教えてください。
任意のフォルダ(ThisBookと同じフォルダ)の中にある
xlsファイルの数を取得する方法を考えています。
Dim N as Integer
With CreateObject("Scripting.FileSystemObject")
For Each ff In .GetFolder(ThisWorkbook.Path).Files
If UCase(.GetExtensionName(ff.Path)) = "xls" Then N = N + 1
Next
End With
ネットで調べてみたものの、カウントがされません。
現在対象のフォルダにはxlsファイルが一つあります。
どこを修正すれば良いのでしょうか。
教えてください。
457デフォルトの名無しさん
2018/03/20(火) 23:07:13.92ID:BysB7y8w >>456
UCaseの意味をもう一度調べてみれば?
UCaseの意味をもう一度調べてみれば?
458デフォルトの名無しさん
2018/03/20(火) 23:25:24.58ID:qVb9KqM8 Ruby なら、これだけだが
puts Dir.glob('*.txt').size #=> 5
puts Dir.glob('*.txt').size #=> 5
459デフォルトの名無しさん
2018/03/20(火) 23:29:52.36ID:9kggXYDo460デフォルトの名無しさん
2018/03/21(水) 11:16:23.41ID:7pPMZ9pD461デフォルトの名無しさん
2018/03/21(水) 23:19:13.74ID:1JiLJjJR そーゆー感性ってすごく大事
なんとなくだが
なんとなくだが
462デフォルトの名無しさん
2018/03/22(木) 23:48:33.27ID:wY4uz5GL そいうWithの使い方は嫌い
んとなくだが
んとなくだが
463デフォルトの名無しさん
2018/03/23(金) 05:10:41.67ID:fhxmeXqE 寧ろ、with はああいう使い方をすべきなんじゃないの。単なる記述の省略としてだけでなく。
464デフォルトの名無しさん
2018/03/23(金) 07:23:25.20ID:KEQJOoX5 いんや、.NetのUsingみたいに解放は確実に出来るけど
ひとつのスコープにひとつしか使えないし
コーディングに慣れてる人には
一瞬、どこで生成してるの?ってなるから
可読性の見地からイマイチかなと思う
ひとつのスコープにひとつしか使えないし
コーディングに慣れてる人には
一瞬、どこで生成してるの?ってなるから
可読性の見地からイマイチかなと思う
465デフォルトの名無しさん
2018/03/23(金) 07:26:59.80ID:L9ucwTOA 既におなじみの使い方だろうとしか
466デフォルトの名無しさん
2018/03/23(金) 07:47:34.14ID:Kb85u4Z4 withってusingみたいに解放してくれるんだ
Set使うより簡潔にできるのね
Set使うより簡潔にできるのね
467デフォルトの名無しさん
2018/03/23(金) 08:04:55.76ID:FQA7q+b8■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 寝癖ってどうしたらつかなくなるんや?
- 自閉症が「んなっしょい」と連呼するお🏡
- 【画像】エロい一般漫画はなぜこんなに抜けるのか
- BTSのバラエティ面白すぎワロタ
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
