• ベストアンサー

エクセルのシートの淡色表示?

エクセルVBAで、コントロールなどは、Enabledプロパティを設定して選択できないようにできますが、シートには、Enabledプロパティが存在しないような気がします。(私がわかる範囲でヘルプで調べたらの話です)出来れば、シート見出しの非表示ではなく、アクティブシート以外のシートを選択出来ないようにする方法を教えて頂けないでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • myCat
  • ベストアンサー率60% (9/15)
回答No.2

こんにちは。 No1さんに少し補足しますと 同じブックの 全てのシートで 同じ処理をする時は それぞれのシートにそのコードを置くのではなくて ThisWorkBookモジュールにひとつ置いておきます。 例えば、Sheet1のみ選択可能の場合 ----------------------------------------------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object)   Application.EnableEvents = False   Application.ScreenUpdating = False   If Sh.Name <> "Sheet1" Then     Sheets("Sheet1").Select   End If   Application.EnableEvents = True   Application.ScreenUpdating = True End Sub ------------------------------------------------------- 但し、これらの方法では他のシートを選択した時、一瞬だけ選択したシートが表示されます。 もしそれが拙いのであれば、他のシートは初めから隠しておくしかありません。  

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)   Worksheets("Sheet1").Activate End Sub でも良いかも。

Excel_VBA
質問者

お礼

tinu2000さん、myCatさん、KenKen_SPさんありがとうございます。 教えて頂いた内容にて目的は達成できそうなので、活用させて頂きます。特に、ThisWorkbookに記載するといいってのは、私の持っている本には載っていませんでした。ありがとうございます。 今後とも宜しくお願いいたします。

すると、全ての回答が全文表示されます。
回答No.1

おはようございます。 > シート見出しの非表示ではなく これと思ったんですが、非表示以外では・・・ シート見出しを淡色にして非選択にする方法は分りません。 では、以下の方法では? アクティブシート以外のシートを選択しても、アクティブシートに戻ってしまう。 これをアクティブシート以外のシートに貼り付けます。 アクティブシートを sheet1 として、 Private Sub Worksheet_Activate() Sheets("Sheet1").Select End Sub

すると、全ての回答が全文表示されます。

関連するQ&A