マクロではどうかくといいのでしょうか? 記録すると、番号になってしまいます。
しかもこの番号は入れ替えなどおこっていると順番がかわってしまうようです。
Sheets("XXX").Copy After:=Workbooks("aaa.xls").Sheets(7)
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
コピー先のシート数を取得してやれば良いです。
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名です。ご利用環境にあわせて書き換えてください。
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...
コメント(2件)
環境によって、その状況は違う。
>足そうとしても 足せない場合がある。
具体的な例を教えて頂けますか?
例えば、どのような環境でどういう状況の場合がありますか?
勉強の為に教えてください。