トップページ > プログラム > 2015年10月06日 > vCF6HdoW

書き込み順位&時間帯一覧

22 位/142 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000001000010000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
284
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
284 :デフォルトの名無しさん[]:2015/10/06(火) 12:24:45.75 ID:vCF6HdoW
教えてください。Excel2007使用です。
アクティブなシートで、シート名を変更する状態になっています(シート名が反転)。
この状態で、Range("A1").activate とするとエラーになります。
シート名を変更する状態になっているのですから、当然といえばそうでしょうが
vbaで、シート名変更状態をキャンセルして、Range("A1").activate をエラーなく
実行するには、どうすればいいでしょうか?。
また、シート名変更状態かどうかを、判定することはできるでしょうか?。

if シート名が変更状態なら then
(キャンセルして、セルをactiveにする)
end if
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
288 :284[sage]:2015/10/06(火) 17:18:04.28 ID:vCF6HdoW
>>285,286 失礼しました。
実行時エラー'1004' 'Activeメソッドは失敗しました'_Workbook'オブジェクト
A,B2つのブックがあって、AからBを処理しようとしてます。
マクロはAの標準モジュールに書いてます。Bブックの追加シートタブを1クリック、さらにうっかりもう1回クリックすると
シート名が反転状態になり、その状態でAフォームのBブックに対するモジュールを実行したら、エラーになりました。

>>287 ありがとうございます。下記のようにして、どうにかエラーが出なくなりました。
On Error Resume Next
Workbooks(target).Activate ' Bブック この時点でエラーになってしまうので
If Err.Number <> 0 Then
  Application.SendKeys "ESC"
Err.Clear
End If
On Error GoTo 0
UserForm1.Show (vbModeless)  '表示されてるフォームをアクティブにして
Application.SendKeys "ESC" 'こちらにもESC送らないと、いけませんでした。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。