[[20120214123405]] 『あるシート以外の処理』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『あるシート以外の処理』(初心者)
 sheet1以外を表示倍率を160%にしたいのですが、
  「sheet1以外」の書き方が分かりません。
 基本的な問題だと思うのですが、簡単な書き方があれば、
 ご教授をお願いします。
 if文など使ってみましたが、使い方が良く分かりません。
 下記のようにしてみましたが、if ws.name <>"sheet1" thenが
 エラーとなってしまいました。
 Sub auto_open()
 Application.CellDragAndDrop = False
 if ws.name <>"sheet1" then
 activewindow.zoom = 160
 endif
 End Sub
 宜しくお願いします。
 windows vista
 excel2007

 wsが定義されていないのでエラーがでると思います。
 ブックのイベントとして作成してみましたので、
 VBEのThisWorkbookに入れてみてください。

 Private Sub Workbook_SheetActivate(ByVal Sh As Object)

 If Sh.Name <> "Sheet1" Then
    ActiveWindow.Zoom = 160
 End If

 End Sub

 (Miki)


 ひそかにエクセルVBAのバグ以外の何物でもないと思っているけど、ブックを開く時点で、そのアクティブシートに対しては
Activateイベントが発生しない。なので、仮にSheet1がアクティブシートなら、最初、開いた時にはズームが設定されない。

 ThisWorkbookモジュールに

 Private Sub Workbook_Open()
    If ActiveSheet Is Sheets("Sheet1") Then ActiveWindow.Zoom = 160
 End Sub

 Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh Is Sheets("Sheet1") Then ActiveWindow.Zoom = 160
 End Sub

 なお、エラー自体の理由はMikiさんの回答通り。

 (ぶらっと)

ぶらっと様
 ありがとうございます。
 ThisWorkbookモジュールに既にopen closeのコードが書いてあります。
 こういう場合はどうしたらよいのでしょうか?
 基本的な問題かもしれませんが、宜しくお願いします。
 (初心者)


 質問者の初心者さん、
 既にあるコードの下の空白部分に入れてください。

 ぶらっとさん
 逆でないですかね? 「Sheet1以外」でという内容です。

 (Miki)


 miki様
 ありがとうございます。
 教えていただいたコードでやってみましたが、
 ブック立ち上げの際は、100%のままでしたが、
 他のシートをアクティブにした後、シート1に戻ったら、
 160%になってしまいました。

 Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 If Sh.Name <> "Sheet1" Then
    ActiveWindow.Zoom = 160
 End If
 End Sub

 (初心者)


 >逆でないですかね? 「Sheet1以外」でという内容です。

 Mikiさん、ご指摘深謝。そこつものでした。

 >ブック立ち上げの際は、100%のままでしたが、
 >他のシートをアクティブにした後、シート1に戻ったら、
 >160%になってしまいました。

 私がレスした、オープン時のアクティブシートの問題。以下を追加すればOK。
(ただし、Mikiさんご指摘のように、【以外】に変更してある。

 Private Sub Workbook_Open()
    If Not ActiveSheet Is Sheets("Sheet1") Then ActiveWindow.Zoom = 160
 End Sub

 (ぶらっと)

ぶらっと様
 ありがとうございます。
 ご指導のとおりで出来ました。
 (初心者)

 強制的に走らせるならこんな方法も

 Private Sub Workbook_Open()
    Application.Run "ThisWorkbook.Workbook_SheetActivate", Me.ActiveSheet
 End Sub
 (seiya)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.