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

お世話になります。

あるブックのあるシート内のデータを、別の新規Bookに自動出力したいのですが。

A.Book(元データ)
セル A1:A200
   B1:B200

指定した名前でCドライブ直下に出力(常に上書き)

この動作をA Bookのシートにボタンを作成し、
それをクリックすることで起動させたいです。

参考になるソースを教えていただけないでしょうか?
(当方、初心者です)

※質問内容に不明点があればご指摘ください、補足欄にて対応させていただきます

A 回答 (4件)

Dim buf As Variant


buf = ActiveSheet.Range("a1:b200")
Sheets.Add after:=Worksheets(Worksheets.Count)
Application.DisplayAlerts = False
With Worksheets(Worksheets.Count)
.Name = "copy"
.Range("a1:b200") = buf
.Move
End With
With Workbooks(Workbooks.Count)
.SaveAs "C:\test.xls"
.Close
End With
Application.DisplayAlerts = True
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ありません。

できました!
まさに希望通りの動作でした!

お礼日時:2006/04/22 09:11

あなたのやりたい機能は、全て過去の質問履歴に書かれているサンプルを組み合わせることで、実現可能だと思います。


ただ初心者であれば、その検索キーワードがわからないかも知れませんので、そのキーワードだけ

エクセルを操作
「excel.application」

エクセルの保存
「saveas」

CSVっていうか、テキストファイルの関連
http://okwave.jp/kotaeru.php3?q=2100690
↑最近アドバイスしたけど、そのまま放置されているスレッド

「初心者だからわからない⇒丸投げの質問」
ではいつまでも初心者です。

あなたのやりたいことは
・エクセルを開く
・新規ブックの追加
・シートへの値の反映
・ブックの保存
・あるいはテキストファイルの読み書き
といった「複合の機能」です。

的を絞った質問をすることも、これまた「スキル」です。
がんばってください。
    • good
    • 2
この回答へのお礼

おっしゃる通り、今の私では初心者から脱皮できませんよね……。
(おそらく(汗;)→自在に操れる言語(もう流行らない古いもの)とはあまりにも違うので、キーワードを見出せなかったのも事実です。

時間がなかったというのもありますが、過去ログをきちんと確認しなかったのも当サイトではマナー違反でしたね……。

精進してまいります。

お礼日時:2006/04/22 09:15

エクセルがおしえてくれるのではないですか。


マクロの記録をとりました。
Sub Macro1()

Workbooks.Add
Windows("Book1").Activate
Range("A1:B10").Select
Selection.Copy
Windows("Book2").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\XXXX\My Documents\Book2.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
となりました。
関係箇所を変更して、コマンドボタンクリックイベントで上記コードを囲えば済むのではないですか。

この回答への補足

私も最初はマクロ記録で対応しようと思ったのですが、
メニューに"エクスポート"のようなものがなかったのでできませんでした。
どこから動作させたのか、参考までに教えていただけますか?

補足日時:2006/04/22 09:17
    • good
    • 0

#3です。


>どこから動作させたのか
普通にやりました。セル範囲をコピーしておいて、
ファイルー新規作成ー空白のブック
貼り付け
名前をつけて保存
をしました。(E2002)
>メニューに"エクスポート
私の語感では
(1)受け・渡しのソフトが違う(エクセルとアクセスとか)
(2)両者標準のファイル形式が違う(xlsとmdbとか)
CSVなどを通じての場合はおなじでも使うかな。
そういう際に、ファイルを取り込む方法を提供している場合に使う。
(3)俗語・普通名詞的にデータを「移す」という意味で使う
場合も見かける。
それで今回はエクセル間ですから使わない。
    • good
    • 0
この回答へのお礼

非常に参考になりました。
ありがとうございます。

お礼日時:2006/04/22 11:17

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