エクセルVBAについて質問です。

2つのブックが開かれていたとします。その内、片方のブック名を「はてな」とします。「はてな」じゃない方のブックをアクティブにするというマクロを作ってください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/09/24 15:44:24
  • 終了:2006/09/24 18:45:03

回答(2件)

id:llusall No.1

llusall回答回数505ベストアンサー獲得回数612006/09/24 15:58:31

ポイント35pt

こちらでいかがでしょうか?

Option Explicit

Sub test2()

    Const WB_NAME = "はてな.xls"

    Dim wb As Workbook

    'すべてのワークブックを調べます。

    For Each wb In Workbooks

''        Debug.Print wb.Name

        If wb.Name <> WB_NAME Then

            'ワークブックの名前が指定の名前で無い場合は、アクティブ

            wb.Activate

        End If

    Next

End Sub

id:taroemon

いつもご回答ありがとうございます。

完璧です。

2006/09/24 18:36:49
id:tikirou No.2

tikirou回答回数80ベストアンサー獲得回数82006/09/24 16:20:56

ポイント35pt

作成してみました。

動作確認して見て下さい。

Sub Hatena()
    Dim wkbook As Workbook

    For Each wkbook In Workbooks
        
        If WBK.Name <> "はてな.xls" Then
         
            wkbook.Activate
            
            Exit For
         
        End If
    Next wkbook
    
End Sub

URLはダミーです。

http://www.yahoo.co.jp

id:taroemon

ご回答ありがとうございます。

参考になりました。

2006/09/24 18:38:38
  • id:llusall
    Exit Forを入れるのを忘れました。

    開かれるブックが2つの場合は関係ありませんが、
    tikirou さんのように入れたほうが良い(普通)かと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません