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

多分全部を検索すると答えがあるのでしょうが、少々急いでおりますので新たに質問をさせていただきます。やりたい事は以下のものです

1.編集するVABはファイルaaa.xlsのものです
2.aaa.xlsに”マスタ”というシートがあります
3.ファイルzzz.xlsにこの”マスタ”シートを追加します
4.追加後、aaa.xlsでの編集作業を続けます(zzz.xlsでの作業はありません)


以上です。よろしくお願いします。

A 回答 (5件)

#3-4です。


逐条解説すると、

Sub TEST02()
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & "zzz.xls") 'Path取得してzzzを開き、以後これをwbと呼ぶ
ThisWorkbook.Sheets("マスタ").Copy Before:=wb.Sheets(1) 'Sheets("マスタ")をコピーしてwbの一番前に挿入
wb.Close (True) 'wbを保存終了
Set wb = Nothing 'zzzをwbと呼ぶのをやめる
End Sub

ということですから、zzz.xlsにもともとあったシートが無くなったり、シート名がコピー元のファイル名と同じになるなんてことは、このコードでは起こらないはずですが・・・・。

この回答への補足

すいません!出来ました!!!

zzz.xlsを作る際にファイルの形式を誤っていたようです。

お騒がせしました。
ありがとうございます。

補足日時:2007/04/18 16:43
    • good
    • 0
この回答へのお礼

何度もすいません。
wb.Close (True)を実行した後に「ファイル名をつけて保存」のウインドウが表示されます。またこの時に「ファイルの種類」は「テキスト(タブ区切り)(*.txt)」となっています。
ここで上書きされてしまうことになっちゃってるようです。

aaa.xlsとzzz.xlsは同じフォルダに存在しています。

お礼日時:2007/04/18 16:37

#3です。


冗長なコードを書いてしまいました。以下のようにすっきりできますね。

Sub TEST02()
Set wb = Workbooks.Open("zzz.xls")
ThisWorkbook.Sheets("マスタ").Copy Before:=wb.Sheets(1)
wb.Close (True)
Set wb = Nothing
End Sub

この回答への補足

う~ん・・・もうちょっとです。

上記ソースだと既存のファイルを上書き保存してしまうようでzzz.xlsにもともとあったシートも無くなってしまいます。またシート名も”マスタ”ではなくファイル名と同じになってしまいました。

補足日時:2007/04/18 15:01
    • good
    • 0

ふたつのファイルが同じフォルダにあるなら、



Sub TEST01()
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & "zzz.xls")
ThisWorkbook.Sheets("マスタ").Copy Before:=Workbooks("zzz.xls").Worksheets(1)
wb.Close (True)
Set wb = Nothing
End Sub

でどうでしょう。
    • good
    • 0

aaa.xls とzzz.xls を開いて以下のモジュールを実行してみてください。



sub SheetCopy
Workbooks("aaa").Sheets("マスタ").Copy Before:=Workbooks("zzz.xls").Worksheets(1)
end sub
    • good
    • 0
この回答へのお礼

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

xxx.xlsを開かないとこの処理を行うのは難しいでしょうか?
ソースの上だけでファイルを開いてシートを追加するという
事は無理でしょうか?

お礼日時:2007/04/18 14:01

まず、aaa.xlsを開き、ツール→マクロ→新しいマクロの記録を選んで1~4の作業をした後、マクロの記録を終了させて下さい。

    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
やってみましたが、マクロ中でzzz.xlsを開こうとするとテキストファイルウィザードが動いてしまいます。開こうとするファイルがエクセルで作られたものでもこれが動いてしまうのでしょうか?

お礼日時:2007/04/18 14:00

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