Excel VBA質問箱 IV

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

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


6765 / 13646 ツリー ←次へ | 前へ→

【43317】他のブックからのコピー さなえ 06/10/9(月) 13:20 質問[未読]
【43318】Re:他のブックからのコピー パン 06/10/9(月) 13:59 発言[未読]
【43319】Re:他のブックからのコピー さなえ 06/10/9(月) 14:46 発言[未読]
【43320】Re:他のブックからのコピー パン 06/10/9(月) 15:07 発言[未読]
【43322】Re:他のブックからのコピー ta朗 06/10/9(月) 17:07 発言[未読]

【43317】他のブックからのコピー
質問  さなえ  - 06/10/9(月) 13:20 -

引用なし
パスワード
   初歩的な質問で申し訳ありませんが教えて下さい。

VBAを使ってAというブックの中で、BというブックをCという名前でコピーし、
AのSheetの内容をCのsheetへコピーするというような事を考えていますが、、、
どのように記述したら良いかわかりません。

教えて下さい。

よろしくお願いします。

【43318】Re:他のブックからのコピー
発言  パン E-MAIL  - 06/10/9(月) 13:59 -

引用なし
パスワード
   ▼さなえ さん:
こんにちは、PANです。
>VBAを使ってAというブックの中で、BというブックをCという名前でコピー
は、boookの中にbookを作ることは出来ません。
BブックをCブックという名前でコピー保存して、AブックのSHEETをCブックへコピーなら出来ますが具体的にはどのようなことがしたくて、どこがわからないでしょうか?


>初歩的な質問で申し訳ありませんが教えて下さい。
>
>VBAを使ってAというブックの中で、BというブックをCという名前でコピーし、
>AのSheetの内容をCのsheetへコピーするというような事を考えていますが、、、
>どのように記述したら良いかわかりません。
>
>教えて下さい。
>
>よろしくお願いします。

【43319】Re:他のブックからのコピー
発言  さなえ  - 06/10/9(月) 14:46 -

引用なし
パスワード
   説明不足ですみません。 補足になるかどぅか。。。

単純にはBというブックをコピーし、そのままCというブック名で
新規に作成したいと考えております。

その後、そのCという新規に作成されたブックにAの内容(これは変数か
何かに格納しています。)をコピーしたいと考えています。


▼パン さん:
>▼さなえ さん:
>こんにちは、PANです。
>>VBAを使ってAというブックの中で、BというブックをCという名前でコピー
>は、boookの中にbookを作ることは出来ません。
>BブックをCブックという名前でコピー保存して、AブックのSHEETをCブックへコピーなら出来ますが具体的にはどのようなことがしたくて、どこがわからないでしょうか?
>
>
>>初歩的な質問で申し訳ありませんが教えて下さい。
>>
>>VBAを使ってAというブックの中で、BというブックをCという名前でコピーし、
>>AのSheetの内容をCのsheetへコピーするというような事を考えていますが、、、
>>どのように記述したら良いかわかりません。
>>
>>教えて下さい。
>>
>>よろしくお願いします。

【43320】Re:他のブックからのコピー
発言  パン E-MAIL  - 06/10/9(月) 15:07 -

引用なし
パスワード
   ▼さなえ さん:
Cドライブに”BBQ"と言う名前でフォルダを作ります。
その中に、A.xls B.xlsでエクセルブックがあるとします。
標準モジュウールにしたのコードを貼り付けて実行してみてください。
やり方は色々ありますがとりあえず作業手順がわかりませんので書いてみました。
たとえば、B.xlsは開いているか変更したものはB.xlsで保存するのか?とか使い方により違いが出ますので、命令を参考にしてください。
命令が不明な時はマクロの自動記録で記録させてコードをみるのも選択肢としてあります(記録できないのもありますが)そこから、発展させていくのも理解を深めることが出来ます。


Sub テスト()

Workbooks.Open "C:\BBQ\B.xls"’B.xlsを開く開くとB.xlsがアクティブになります。
ActiveWorkbook.Save   ’’上書き保存(必要あるときと無い時があります)
ActiveWorkbook.SaveAs Filename:="C:\BBQ\C.xls" ’’’C.xlsで保存します
ThisWorkbook.Activate  ’’’’マクロを実行中のブックをアクティブにします

’’’’’’’’ここからはマクロの自動記録で記録しました’’’’’’’’

Sheets("Sheet1").Select
  Cells.Select
  Selection.Copy
  Windows("C.xls").Activate
  Cells.Select
  ActiveSheet.Paste

End Sub


>説明不足ですみません。 補足になるかどぅか。。。
>
>単純にはBというブックをコピーし、そのままCというブック名で
>新規に作成したいと考えております。
>
>その後、そのCという新規に作成されたブックにAの内容(これは変数か
>何かに格納しています。)をコピーしたいと考えています。
>
>
>▼パン さん:
>>▼さなえ さん:
>>こんにちは、PANです。
>>>VBAを使ってAというブックの中で、BというブックをCという名前でコピー
>>は、boookの中にbookを作ることは出来ません。
>>BブックをCブックという名前でコピー保存して、AブックのSHEETをCブックへコピーなら出来ますが具体的にはどのようなことがしたくて、どこがわからないでしょうか?
>>
>>
>>>初歩的な質問で申し訳ありませんが教えて下さい。
>>>
>>>VBAを使ってAというブックの中で、BというブックをCという名前でコピーし、
>>>AのSheetの内容をCのsheetへコピーするというような事を考えていますが、、、
>>>どのように記述したら良いかわかりません。
>>>
>>>教えて下さい。
>>>
>>>よろしくお願いします。

【43322】Re:他のブックからのコピー
発言  ta朗  - 06/10/9(月) 17:07 -

引用なし
パスワード
   ▼さなえ さん:
>初歩的な質問で申し訳ありませんが教えて下さい。
初歩でしょうか?

こんな感じは如何です。
コントロールツールボックスのコマンドボタンをひとつ作り、このBook名をAとします。
BookAのシート1をバックアップという名前・・・適時決めていただければ
良いです。(名前を変えれば、コードもその部分を修正のことです)
このシートのA5に新しく作成したいブック名を入力・・・例えば「B」
とセルに明示してください。ブック名は好きな名前を指定できます。

シート1に以下のコードを貼り付けて下さい。
後は、コマンドボタンを押すとBのBookができます。

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim myfile As String

 With Worksheets("Sheet1")
   myfile = .Range("A5").Value
 End With

Workbooks.Add
With ActiveWorkbook
  .Worksheets("Sheet1").Name = "バックアップ"
  .Worksheets("Sheet2").Delete
  .Worksheets("Sheet3").Delete
  ThisWorkbook.Worksheets("Sheet1"). _
    Cells.Copy .Worksheets("バックアップ").Cells
  On Error Resume Next
  .SaveAs Filename:=ThisWorkbook.Path & "\" & myfile & ".xls" 
  On Error GoTo 0
  .Close
End With

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

上記マクロは、新たに作成されたブックBにはコードが残らないのが特徴かな?
っと思います。


標準モジュールでする場合のシンプルなのは、次のように成るでしょう。
Sub Macro1()
  Cells.Copy    
  ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\D.xls"  
End Sub

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