[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
110
(5): (ワッチョイ e761-Mi9Z) 2020/09/07(月)23:56 ID:UwONkXQv0(1) AAS
エクセル2010です。
上書き保存時にすべてのシートでA1セルを選択するようにしたいのですが、
Ctrl+S時とボタンのクリックイベントで挙動が違うことにハマってます。
1枚目シートにactiveXコントロールのボタンを配置し、VBAの構成は以下です。
1. シートモジュール : ボタンのクリックイベントにThisworkbook.saveだけを書いています。
2. ThisWorkbookモジュール : beforeSaveイベントで3を呼び出し。
3. 標準モジュール : 全シートのA1セルを選択するSubプロシージャ。ForEachでまわすだけ。

Ctrl+Sの際は2→3でうまくいきます。
ボタン押下の場合は、1→2→3と流れてはいるものの、なぜか各シートがactivateされなず、activeSheet.Range("A1").Selectが働きません。
1のクリックイベントから直接3を呼び出すのは、うまく行きます。
省2
111: (ドコグロ MM7b-aCGe) 2020/09/08(火)02:03 ID:weDKADyMM(1) AAS
>>110
for i= activeworkbook.worksheets.count to 1 step -1
apprication.goto activeworkbook.worksheets(i).range("a1")
next i
activeworkbook.save

スマホ打ちだから綴りミスはあるかも
112
(1): (アウアウカー Sa9b-vRCQ) 2020/09/08(火)07:47 ID:vMdvrooDa(1/2) AAS
>>110
For eachで全シート回してるならActivateしなくても、
sh.Range("A1")で行けないか?
114: (ワッチョイ 27da-XrX+) 2020/09/08(火)10:40 ID:C66iYfBu0(1/3) AAS
>>110
働かないという場合の原因で以下のことを調べてみ

1.実は働いていたがその後に別の動作をしたため働いていないように見える
2.働こうとしたが、なんらかの異常が出て失敗している
3.その処理が実行されていない(on errorやifの条件、イベント発生していないなど)
121: (ワッチョイ e77c-ALHH) 2020/09/08(火)19:10 ID:E23V8S4o0(2/5) AAS
>>110
Forの中身が間違ってるとか別のブックを見てるとか
ほんとに選択したいシートが選択されてるか確認した?
138: 110 (ワッチョイ 5961-RQWs) 2020/09/09(水)00:23 ID:Lvk20igu0(1) AAS
>110です。
書き込み後にいろいろググったところ、いくつかのサイトで
コードからの保存はbeforeSaveイベントが正常に働かない旨の記載がありました。
今回の事象もこれに当たるのかなと考えています。
そんな訳で、ボタンでの保存はenableEventsをfalseにして別処理にしました。
回答くださった皆様、ありがとうございました。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s