[[20070216142954]] 『エクセルAで別のエクセルBを開いて、エクセルAの"』(石田) ページの最後に飛ぶ

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

 

『エクセルAで別のエクセルBを開いて、エクセルAの"今月”という名前のシートのA1と同じ値の名前をもつ、エクセルBのシートを選択するマクロを作りたいのです。』(石田)

いつもお世話になっております。
説明が下手ですみません、以下に作りかけのコードをのせました。その中で・・

「Sheets("2月").Select」  の部分を、 もともとアクティブにしているAのエクセルの「今月」という、シートのA1と同じ値のシートを選択する、というふうに置き換えるにはどうしたらいいのでしょう。行いたいことは、入院カレンダー&医師勤務表2007年.xlsのなかの1月〜12月 という12 のシートのうち所定のシートを開きたいということなのです。

ご指導お願いいたします。

Sub 入院カレンダーを開く()

' 入院カレンダーを開く Macro
' マクロ記録日 : 2007/2/16 ユーザー名 : 125007
'
Sheets("今月").Select
Application.ScreenUpdating = False '画面の再描画停止

Workbooks.Open Filename:= _

        "\\fssvr\書棚\入院予約:関西リハ病院\入院カレンダー&医師勤務表\入院カレンダー&医師勤務表2007年.xls"

Sheets("2月").Select  ’⇒ この部分を置き換えたいのです。

    Range("A2:U56").Select
    Application.CutCopyMode = False
    Selection.Copy

ThisWorkbook.Activate
Sheets("今月").Select

    Range("A2:U2").Select
    ActiveSheet.Paste

    Range("U56").Select
    Windows("入院カレンダー&医師勤務表2007年.xls").Activate

ActiveWindow.Close SaveChanges:=False
Application.ScreenUpdating = False '画面の再描画停止

End Sub

(石田)


 こんなことでしょうか?
 (ROUGE)
'----
Sub 入院カレンダーを開くのだ()
    Dim wb As Workbook, a As String
    Application.ScreenUpdating = False
    a = ThisWorkbook.Sheets("今月").Range("A1").Text
    Set wb = Workbooks.Open(Filename:= _
            "\\fssvr\書棚\入院予約:関西リハ病院\入院カレンダー&医師勤務表\入院カレンダー&医師勤務表2007年.xls")
    wb.Sheets(a).Range("A2:U56").Copy ThisWorkbook.Sheets("今月").Range("A2:U56")
    wb.Close SaveChanges:=False
    Application.ScreenUpdating = True
End Sub

 老婆心ながら、ファイル名等は匿名性のものにされたほうが良いと思います。

 お気づきとは思いますが、最後のステートメントは
    Application.ScreenUpdating = True
 でしょうか。
 (おせっかい Mook)

 本当ですね^^;
 とりあえず、Trueに修正しました。
 (ROUGE)

コメント返信:

[ 一覧(最新更新順) ]


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