- ベストアンサー
エクセルVBAブック出力方法とは?
- エクセルVBAを使用して特定のセル部分のみを新しいファイルに出力する方法について質問します。
- 提供されたVBAコードの問題点や誤りについて指摘していただきたいです。
- 出力元ファイルと出力先ファイルの範囲やシート名が固定されており、出力元セルと出力先セルが同じ範囲です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
もう少しだったとですね。 Sheets("Sheet1").Range("リスト").Copy Workbooks.Add Sheets("Sheet1").Range("A1:J12").PasteSpecial ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\新規.xls" 手作業の場合の順序を考えて見ましょう 範囲をコピー 新しいブック開く 貼り付けをする 名前を付けて保存する の順番にコードを記述します。
その他の回答 (2)
- mar00
- ベストアンサー率36% (158/430)
Sub ブック出力() Sheets("Sheet1").Range("リスト").Copy Workbooks.Add Range("A1").PasteSpecial ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\新規.xls" End Sub
お礼
完璧でした。ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
2つのブックを問題にしているはず。 VBAコードで扱うときに、その行を実行時までに、ブックまで含めてセル・セル範囲が確定している必要あり。 質問者のコードではそれが見えない。 基本的なことの勉強が、そこ(さえも)までいたってないので、何度も聞いても、進歩ないでしょう。 ーーー >Sheets("Sheet1").Range("A1:J12").Paste 貼り付け範囲の指定は 起点(左上隅セル)しか指定しないはず。基本的なこと。 Googleででも「VBA Paste」で調べてみること。 質問のコードなんか、何をしているのかわからない。ブックがADDされる前にPasteするとは?など。 ーー どうしてもというなら、元の回答者のコードを質問に載せて、それを実行すると、こうなるが、自分はこうしたいと文章に書いて 親切にもコードを全部書いてくれる回答者が現れるのを待ったら ==== VBAコードの話をする前に、手作業でやったらどうなるか 細かく人間の行動を、1歩1歩箇条書きにして、処理を文章化して見る訓練をお奨めする。 そしてそれを実現するためのコードの書き方を1行ずつ考えて、WEBで調べるとか。 。
お礼
ありがとうございました。 VBAを体系的に勉強することにしました。
お礼
完璧です。