• ベストアンサー

閉じているBookに処理をさせるマクロ

Book1とBook2があり、Book1は開いていてBook2は閉じています。 Book1でマクロを実行し、Book2を開いてSheet1のA1に"A"を入力した後Book2を閉じる、という処理をさせることは可能でしょうか? また、上記の処理をBook2を閉じたまま実行することは可能でしょうか? 可能でしたらそれぞれのマクロを教えてください。

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

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

ブックを開く、処理する上書き保存、閉じる という一連の作業です。 あたかも開いてないかのように画面再描画の 停止、再開も行っています。 Sub test() Dim wb1 As Workbook Dim wb2 As Workbook Dim bmei As String Set wb1 = ThisWorkbook bmei = "D:\marbin\test.xls" Application.ScreenUpdating = False Set wb2 = Workbooks.Open(bmei) wb2.Sheets("Sheet1").Range("A1").Value = "A" wb2.Save wb2.Close Application.ScreenUpdating = True End Sub

pyunimo
質問者

お礼

有難うございます。

関連するQ&A

  • Book間でのコピー

    エクセルで以下の処理を実行するマクロを知りたいのですが。 Book1とBook2が開いています。 Book2のSheet1のA1~A10を、Book2のSheet1のA1~A10にコピーします。 この処理を任意の2つのBook間で実行するためにはどんなマクロになるでしょうか。(Book3とBook5で行ったり、Book25とBook46で行ったり等) アクティブになってないBookからアクティブになっているBookにコピーするようにしたいのですが。 宜しくお願いします。

  • エクセル-別のbookで同様のマクロ実行

    エクセル-別のbookで同様のマクロ実行 最初あるBook1に入っているmacro1はそのbook1のsheet1を処理するように作成しました。 次にBook1を開いたまま、Book2を開きそのsheet1に対してmacro1と同等の機能を実行したい場合は通常どうするのでしょうか。 (1) Book2にBook1のマクロをコピー (2) book2のマクロを開き、表示されるBOOK1 macro1を実行する。 (2) 場合でもうまくいくのでしょうか。Sheet1に対してやりたいことの論理は同じとします。試してみたらといわれそうですが、まず識者の説明をお聞きしたいのです。

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

  • EXCEL2010 他ブック セル参照

    Book1のA1セルに、Book2のA1セルを参照するため、 ='D:\TEMP\[Book2.xls]Sheet1'!$A$1 を入力しています。 Book2のSheet1には、マクロを組んでいて、その結果を$A$1から$C$50の範囲に表示させています。 Book1のA1からC50までには、Book2のA1セルからC50までには、同様の式を入力しています。 ご教授願いたい内容は、Book2のマクロ実行後に、Book1に='D:\TEMP\[Book2.xls]Sheet1'!$A$1 を入力した場合は、その結果が表示されるのですが、その後にBook2を更新しマクロ実行すると、Book1の式が='D:\TEMP\[Book2.xls]Sheet1'!'!#REF!とエラーになってします。 Book2を開いて、整列表示の場合でも(='[Book2.xls]Sheet1'!$A$1)結果は、同じです。 何か大事なことを忘れている?または、マクロ実行結果を参照するのは元々無理なのか?悩んでいます。 一応ネット検索したのですが、該当する対処方法が見つけられず、困っています。 解決方法をご教授いただきたく、お願いいたします。

  • マクロで他ブックを開きデータを取得する方法について

    BOOK1は集計表でシートは1枚です。BOOK2はデータ入力シートで50位のシートが含まれています。 BOOK1からマクロでBOOK2を開き、各シートにあるデータをBOOK1(集計表)の所定のセルへ表示させようと考えています。例えば「BOOK2のSheet2のセルC6のデータをBOOK1のセルF8へ、Sheet3のセルC6のデータをBOOK1のセルF12へというように順次50枚のシートに入力した各データをBOOK1の集計表に表示させる予定です。どのようなマクロ構文にしたら良いのでしょうか? ご教授よろしくお願いします。

  • 【エクセル】マクロでのブックとシートの移動について

    元ブックのsheet1の一覧の値を別のブックのシートに貼り付けるマクロの書き方を教えてください 下のような動きです book1.sheet1.A1 → book2.Sheet1.A1          A2           2.A1          A3            3.A1 ・ ・ ・           A50          50.A1 ※セルは任意の場所です よろしくお願いします

  • VBA 違うブックへの自動入力マクロ

    いつもお世話になっております。 年間売り上げの計算をブックを開くと同に時実行したいのですが、 初心者の私には何から手をつけたらよいのかわかりません。 ブックですが、下記のような感じです。 BOOK1                  Sheet1売上          A   B   C      1日付 売上 支出    2 1/1 1000 500 3 2/2 500 800 4 2/2 1500 900     5 1/1 1000 500    6 1/3 2000 1000 7 1/1 500 300 8 9 BOOK2                  Sheet1[ 1月 ]         A   B   C      1日付 売上 支出    2 1/1 3 1/2 4 1/3      5 1/4     6 ブック1には一年間の売上がランダムに入力されたシートがあります。 このブック1から日付が同じものの合計をブック2に入力していきたいと思ってます。 ブック1の日付が1/1の売上の合計は、 ブック2のB2へ入力。支出合計ならC3となります こんな感じで1~31日まで繰り返し計算していくマクロを ブック2を開くと同時に実行させたいとかんがえています。 同じブック内でも良かったのですが、 情報量が増えると処理が重くなりそうなので分けることにしました。 うまく伝えられないのですが、 参考となる記述方法がありましたら、よろしくお願いいたします   

  • Excelのマクロについて

    マクロの保存先を「開いているすべてのブック」にして、 A2~A32をいったん削除した後で、 1月1日から、1月31日を入力して、 最後にA2をアクティブセルにしておく、というマクロを作りました。 1/1と入力すると、普通、1月1日と表示されますよね? 同一ブック、同一シートないでしたら、そのように表示されるのですが、 同一ブック、別シートあるいは、 別ブックで、このマクロを実行すると、 2001/1/1と表示されます。 あとで、セルの表示形式を変えればいいんでしょうが、 この原因が、なぜ、そうなるのかが知りたいです。 (まだ、そのシート内以外だと、マクロが設定できない、 とかの方がわかるんですが。) また、 同一シートでなくても、 1月1日~1月31日の表示形式のままで、 設定できるマクロがあったら、あわせて教えてください。 作成しているファイルの、 バージョンは、Excel2002ですが、 マクロは、2000と変わらないと思うんですが・・・。 よろしくお願いいたします。

  • ブックA(マクロ含む)をコピーしたブックBを・・

    こんにちは。過去の質問を検索しましたが、見つけられないので失礼します。 Aというブックにa,b,c,dというシートがあります。 これらのシートは全て同じマクロを使っています(違うのはセルに入力されている一部の文字や図のみ)。 シートbだけを別のブックにコピー&保存(ブックB)しました。 するとマクロもブックBに保存されますが 保存されたマクロはブックAのものを参照しますので 手元にブックAが無いと、ブックBのマクロは使えません。 しかし、ブックBをメール等で別の人に送信し ブックAが無い人でも同じようにマクロを使えるようにしたいのですが そのようなことは可能でしょうか。 どなたかご回答お願いします。

  • ブックを開くマクロ

    データ管理というファイルの中にある データー(1)のファイルの中の データ表(1)というエクセルbookのあるマクロを実行すると 同じくデータ管理というファイルの中にある データー(2)のファイルの中の データ表(2)というbookを開き そのbookのsheet1のA1:B5をコピーして データ表(1)エクセルbookのsheet1のA1:B5に貼り付ける・・・ というVBAを組む事は出来ますでしょうか? 分かりにくくてすいません

専門家に質問してみよう