Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3989 / 13644 ツリー ←次へ | 前へ→

【58933】別ブックへシートのコピーの方法 ppp 08/11/18(火) 23:54 質問[未読]
【58934】Re:別ブックへシートのコピーの方法 かみちゃん 08/11/19(水) 0:05 発言[未読]
【58954】Re:別ブックへシートのコピーの方法 ppp 08/11/19(水) 22:02 発言[未読]
【58982】Re:別ブックへシートのコピーの方法 Abebobo 08/11/21(金) 10:30 発言[未読]
【58992】Re:別ブックへシートのコピーの方法 ppp 08/11/21(金) 23:50 発言[未読]

【58933】別ブックへシートのコピーの方法
質問  ppp  - 08/11/18(火) 23:54 -

引用なし
パスワード
   アクティブのブックのシートをコピーし、
閉じている別ブックへそのシートをコピーしたのをコピーしたいのですが、
可能でしょうか?
一度開いてコピーして閉じるという方法でやってみたのですが、
なんだか、動作が目に見えるため、あまりよろしくないので、
違う方法がありましたら、是非お願い致します。

【58934】Re:別ブックへシートのコピーの方法
発言  かみちゃん  - 08/11/19(水) 0:05 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>一度開いてコピーして閉じるという方法でやってみたのですが、
>なんだか、動作が目に見えるため、あまりよろしくない

画面更新を抑止することで、開いてコピーして閉じるという方法を見えなくする
ことはできると思いますが、それではいかがですか?

'画面更新抑止
Application.ScreenUpdating = False
 
 '〜 処 理 〜

'画面更新再開
Application.ScreenUpdating = True

【58954】Re:別ブックへシートのコピーの方法
発言  ppp  - 08/11/19(水) 22:02 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>一度開いてコピーして閉じるという方法でやってみたのですが、
>>なんだか、動作が目に見えるため、あまりよろしくない
>
>画面更新を抑止することで、開いてコピーして閉じるという方法を見えなくする
>ことはできると思いますが、それではいかがですか?
>
>'画面更新抑止
>Application.ScreenUpdating = False
> 
> '〜 処 理 〜
>
>'画面更新再開
>Application.ScreenUpdating = True

ご回答ありがとうございます。
画面更新抑制をやっても、見えてしまいます。
こんな感じでやってみました。

  Application.ScreenUpdating = False
  
  '全てコピー
  Cells.Select
  Selection.Copy
  
  '末尾にシートを新規作成
  With Worksheets.Add(After:=Worksheets(Worksheets.Count))
  
    '貼付け
    .Paste
    
    'コピー先のブックオープン
    Workbooks.Open ThisWorkbook.Path & "\TEST.xls"
    
    'オープンしたブックへシートのコピー
    .Move Before:=Workbooks("Test.xls").Sheets(1)
    
    '上書き保存
    ActiveWorkbook.Save
    
    '閉じる
    ActiveWorkbook.Close
  End With

  'コピーの解除
  Application.CutCopyMode = False
  
  Application.ScreenUpdating = True

コピー先のブックをオープンするときに、タスクバー?下のアイコンの部分に
オープンしたブックが表示されてしまいます。
なにかやり方が間違ってますでしょうか?

【58982】Re:別ブックへシートのコピーの方法
発言  Abebobo  - 08/11/21(金) 10:30 -

引用なし
パスワード
   ▼ppp さん:

Application.ScreenUpdating = False
ActiveSheet.Cells.Copy Worksheets.Add _
            (After:=Worksheets(Worksheets.Count)).Cells
'末尾にシートを新規作成
With ActiveSheet
  'コピー先のブックオープン
  Workbooks.Open ThisWorkbook.Path & "\TEST.xls"
  'オープンしたブックへシートのコピー
  .Move Before:=Workbooks("Test.xls").Sheets(1)
End With
'上書き保存
ActiveWorkbook.Save
'閉じる
ActiveWorkbook.Close
Application.ScreenUpdating = True


見直すところはまだ有ると思いますが、これの動きとしてはどうでしょう?

【58992】Re:別ブックへシートのコピーの方法
発言  ppp  - 08/11/21(金) 23:50 -

引用なし
パスワード
   ▼Abebobo さん:
>▼ppp さん:
>
>Application.ScreenUpdating = False
>ActiveSheet.Cells.Copy Worksheets.Add _
>            (After:=Worksheets(Worksheets.Count)).Cells
>'末尾にシートを新規作成
>With ActiveSheet
>  'コピー先のブックオープン
>  Workbooks.Open ThisWorkbook.Path & "\TEST.xls"
>  'オープンしたブックへシートのコピー
>  .Move Before:=Workbooks("Test.xls").Sheets(1)
>End With
>'上書き保存
>ActiveWorkbook.Save
>'閉じる
>ActiveWorkbook.Close
>Application.ScreenUpdating = True
>
>
>見直すところはまだ有ると思いますが、これの動きとしてはどうでしょう?

ご回答ありがとうございます。
結果としては同じ動きでした。
コピーしたシートは開いているブックにしかコピー出来ないのでしょうか?

3989 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free