|
>シートにコマンドボタンをはって
>新しいウインドウを開いて、並べて表示の状態で
>:1、:2どちらでもいいので、コマンドボタンを押すと
>アクティブでないシートのコマンドボタンに斜線がかかって
>そのボタンは反応しなくなります
コントロールツールボックスではそうなるようです。
色々問題のあるコントロールなので、昔ながらのフォームのボタンを使われたらどうでしょう。
>取りあえず、トグルボタンで動作、マウスAPI抜き(組み込んでも動作しました)
>コードは、下記で希望の操作かないました
>ただ、もっとすっきり書けないものかと思っています
そうですね...
以下のかんじくらいにはなると思います。
'ブックモジュール(ThisWorkbook)
Option Explicit
Private Sub Workbook_Activate()
Dim wn As Window, aw As Window
Set aw = ActiveWindow
If ActiveWorkbook.Windows.Count > 1 Then
For Each wn In ActiveWorkbook.Windows
wn.Activate
Next
aw.Activate
End If
End Sub
Private Sub Workbook_Deactivate()
ActiveWindow.WindowState = xlMaximized
End Sub
'Sheet1モジュール
Option Explicit
Private Sub ToggleButton1_Click()
Dim ww!
'If ToggleButton1.Value = True Then
If ActiveWorkbook.Windows.Count = 1 Then
ToggleButton1.Caption = "戻 る"
Parent.Unprotect
ActiveWindow.NewWindow
With Windows(Parent.Name & ":1")
.Activate
ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlVertical
ww = .Width + 2 - 240
.Width = 240
End With
With Windows(Parent.Name & ":2")
.Activate
.Left = .Left - ww: .Width = .Width + ww
End With
Sheets("Sheet2").Select
Parent.Protect Structure:=False, Windows:=True
Else
ToggleButton1.Caption = "DTセット(2画面表示)"
Parent.Unprotect
Windows(Parent.Name & ":2").Close
ActiveWindow.WindowState = xlMaximized
End If
End Sub
|
|