人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

あるワークブックのシートを別ブックにコピーするときシーとの一番最後に足したいときは、
マクロではどうかくといいのでしょうか? 記録すると、番号になってしまいます。
しかもこの番号は入れ替えなどおこっていると順番がかわってしまうようです。
Sheets("XXX").Copy After:=Workbooks("aaa.xls").Sheets(7)

●質問者: kaiketsu
●カテゴリ:コンピュータ
✍キーワード:AAA xls コピー マクロ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ken3memo
●27ポイント

Sheets.Count で シートの数がわかるので、

>\vb|

Sub Macro1()

Dim n As Integer '作業変数

n = Workbooks("aaa.xls").Sheets.Count '.Countで相手ブックのシート数を取得

Debug.Print "相手先のシート数は" & Workbooks("aaa.xls").Sheets.Count 'テスト表示

'シートXXXをn番目にコピー

Sheets("XXX").Copy After:=Workbooks("aaa.xls").Sheets(n)

End Sub

||<

と、nに入れてから、コピーしてみるとか?

何かの参考となれば、幸いです。

Sheets.Count で 検索

http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=Sheets.Count


2 ● mystashes
●27ポイント

コピー先のシート数を取得してやれば良いです。

http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop...

Sub mnSheetCopy()

Const lsSrcBookName As String = "Book1"

Const lsDstBookName As String = "Book2"

Const lsSrcSheetName As String = "Sheet1"

Dim llDstSheetCount As Long

llDstSheetCount = Workbooks(lsDstBookName).Sheets.Count

Workbooks(lsSrcBookName).Sheets(lsSrcSheetName).Copy after:=Workbooks(lsDstBookName).Sheets(llDstSheetCount)

End Sub

※lsSrcBookName, lsDstBookName, lsSrcSheetName コピー元Book名, コピー先Book名, コピー元Sheet名です。ご利用環境にあわせて書き換えてください。


3 ● HALSPECIAL
●26ポイント
Sheets("XXX").Copy After:=Workbooks("aaa.xls").Sheets(Workbooks("aaa.xls").Sheets.Count)

以下が参考になります。

Excel(エクセル) VBA入門:ワークシートを操作する

【例3】Sheet1をシート見出しの最後尾へコピーします。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_sheet.html#co...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ