こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル起動時のプロジェクトエクスプローラの「ThisWorkbook」の記述について教えてください。

現在以下の記述ですが、これに「ウィンドウズキー+Tabキー」を一行追加したいのですが記述を教えてください。よろしくお願いします。
Private Sub Workbook_Open()
Application.DisplayFullScreen = True
Cells.Find(What:=Date).Activate
ActiveWindow.DisplayHeadings = False
End Sub

投稿日時 - 2010-01-04 18:04:59

QNo.5567273

困ってます

質問者が選んだベストアンサー

シート名が無いとアクティブシートが対象になります。
Findで探し物が見つからないとエラーになります。
対象シートをActivateしなければなりません。
Cellsはシート全体が検索の対象になります。
あまり差は出ないかもしれませんが
Rangeで対象セル範囲を指定した方が効率が良いと思います。

Sheets("Sheet1").Activate
で対象シートを選択し
Cells.Find(What:=Date).Activate
あるいは
Range("A1:A100").Find(What:=Date).Activate
というようにします。

あるいは
Application.Gotoを使えば、前もって対象シートをActivateする必要はありません。
Application.Goto Sheets("Sheet1").Range("A1:A100").Find(What:=Date), True

ためしてみてください。

投稿日時 - 2010-01-04 21:37:43

お礼

お忙しいところ再びご回答いただきありがとうございます。シートを第一の方法で実行してみました。私の目的に合っていて完璧でした。わかりづらい質問の行間までも完璧に読まれていて脱帽です。助かりました。心より感謝申し上げます。Application.Gotoについても勉強してみたいと思います。

投稿日時 - 2010-01-05 00:07:23

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>これに「ウィンドウズキー+Tabキー」を一行追加したい
SendKeysステートメントでってことですか?
Tabキーは、{TAB} だけどWindowsキーが解らないです。
どのような結果を期待しているのですか?
代替え案が考えられるかも知れません。

あと
Cells.Find(What:=Date).Activate
↑は、Cellsをシート名で修飾しなくても大丈夫ですか?

投稿日時 - 2010-01-04 20:50:56

補足

xls88さんさっそくありがとうございます。
実は専門的なことはよくわからない私です。
「どのような結果を期待しているのですか?」については、すべてのファイルが起動した後、「ウィンドウズキー+Tabキー」を手動で実行するとエクセルファイルにやっとアクティブセルが表示されるので、これを期待しています。
また、「Cellsをシート名で修飾しなくても大丈夫ですか?」についてはシート名で修飾する記述も教えてください。

投稿日時 - 2010-01-04 20:53:44

あなたにオススメの質問