アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel 2007 マクロ 別ブックのシートをコピーする方法

別ブックのシートをコピーして
アクティブなブックのシートにコピーしたいと思います。

下記マクロを作成しました。

貼り付ける際に、クリップボードに保存するかどうか
聞かれるメッセージが表示されてうまくいきません。

またもっとシンプルな書き方があればアドバイスお願いします。


Sub 取り込み()
Dim wb As Workbook
Set wb = Workbooks.Open("\")
Sheets("Sheet1").Select
Cells.Select
Selection.Copy
ThisWorkbook.Activate
ThisWorkbook.Sheets("特定").Select
ActiveSheet.Cells(1, 1).Select
ActiveSheet.Paste
wb.Close
End Sub

A 回答 (3件)

単にクリップボードうんぬんのアラートを出さないようにするなら



Application.DisplayAlerts = False
wb.Close
Application.DisplayAlerts = True

のようにすれば警告はでません。

> またもっとシンプルな書き方があればアドバイスお願いします。

Sub 取り込み2()
Dim wb As Workbook
Set wb = Workbooks.Open("\")'ここは省略しただけですね?
Sheets("Sheet1").Cells.Copy ThisWorkbook.Sheets("特定").Cells
wb.Close
End Sub

こうすれば、最初からクリップボードを経由しませんから何もでません。
    • good
    • 3
この回答へのお礼

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

お礼日時:2010/10/20 21:37

No1 merlionXXです。


さっきのでも大丈夫だとは思いますが、念のため修正しておきます。

Sub 取り込み03()
  Dim wb As Workbook
  Set wb = Workbooks.Open("\") '省略
  wb.Sheets("Sheet1").Cells.Copy ThisWorkbook.Sheets("特定").Cells
  wb.Close (False)
End Sub
    • good
    • 7
この回答へのお礼

ご回答ありがとうございました。シンプルな内容でわかりやすいです。

お礼日時:2010/10/20 21:38

>Set wb = Workbooks.Open("\")


ブック名が抜けていますが、以下では、myBook1.xls としました。


Sub Test1()
Dim acWb As Workbook
Set acWb = ThisWorkbook '必要に応じて変える
On Error Resume Next
With Workbooks.Open("myBook1.xls")
   .Worksheets("Sheet1").Cells.Copy acWb.Worksheets("特定").Cells(1, 1)
  .Close False
End With
Set acWb = Nothing
End Sub
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。参考にさせて頂きます。

お礼日時:2010/10/20 21:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!