|
途中報告と再説明です
わかりにくいと思いますがよろしくお願いいたします
book1のSheet3のA1にABCと入力し、Sheet3を非表示にします
book1に下記モジュールを貼り付けます
動作の確認1
book1のSheet1を選択し、マクロの実行でatest2()を実行すると
Sheet3がSheet1の名前でブックに挿入されSheet1が表示されますが
タスクバーのbook1は選択されていません
セルを選択してもタスクバーのbook1は選択された状態になりません
↑異常な状態と思います
動作の確認2
上記book1のほかに、book2を開きます
book1のSheet1を選択し、マクロの実行でatest2()を実行
Sheet3がSheet1の名前でブックに挿入されSheet1が表示され
タスクバーのbook1は選択されています
↑正常な状態
Q1動作の確認1はどんな状態になっているのでしょうか
Q2動作の確認1のときタスクバーのbook1をアクティブ(押された状態)
にするには、コードをどのように修正したらよいでしょうか
アドバイスよろしくお願いいたします
book1の標準のジュール
'シート1を削除して、シート3をコピーして、シート1にして挿入
Sub RENEW_st2()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Sheet1").Delete
Sheets("Sheet3").Visible = True
Sheets("Sheet3").Copy Before:=Sheets(1)
Sheets("Sheet3 (2)").Name = "Sheet1"
Sheets("Sheet1").Visible = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Public Sub atest2()
RENEW_st2
'Windows(ThisWorkbook.Name).Activate
'Application.Wait (Now + TimeValue("0:00:01"))
'Windows("Book2").Activate
'Windows("Book1").Activate
Call get_ant_bk
'Windows(ThisWorkbook.Name).Activate
'MsgBox ActiveWindow.Caption
'Cells(1, 1).Select
'Windows("Book1").Activate
End Sub
'タスクバーのブック1をアクティブにするつもり
Sub get_ant_bk()
Dim i As Integer
For i = 1 To Workbooks.Count
Debug.Print Workbooks(i).Name
Debug.Print ThisWorkbook.Name
If Workbooks(i).Name <> ThisWorkbook.Name Then
Debug.Print Workbooks(i).Name
Windows(Workbooks(i).Name).Activate
ThisWorkbook.Activate
Exit Sub
Else
End If
Next
ThisWorkbook.Activate
ActiveSheet.Activate
End Sub
|
|