• 締切済み

いつもお世話になっております、

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

良いのかどうか判りませんが Sub test01() Sheets.Add(after:=Sheet1).Name = "発行済" Sheet1.Cells.Copy Sheets("発行済").Cells 'Sheets("発行済").Activate 'ActiveSheet.Paste CutCopyMode = False End Sub なんていうのもできるようです。シートのコピーとRangeのコピーなどを考えることになれば。

関連するQ&A

  • Excel VBAの不可解(?)な動作について

    Excel 2000 VBAでの質問です。 Sheet1に以下のようなコードを書きました。 --------------------------------------------------------- Public Sub test() Application.DisplayAlerts = False Sheets("Sheet2").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "test" Sheets("test").Visible = xlVeryHidden Sheets("Sheet3").Visible = xlVeryHidden Sheets("test").Visible = True Sheets("test").Delete Sheets("Sheet2").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "test" '問題の行 Application.DisplayAlerts = True End Sub --------------------------------------------------------- このコードで期待している動作は、最終的にSheet3(xlVeryHiddenになっている)の後ろにSheet2をコピーし、その名前を「test」にするというものです。 しかし、実際にはSheet3の後ろにSheet2がコピーされるものの、名前はSheet2が「test」と変更されてしまいます。 Sheets.Countの値はSheet3をさしているはずなのですが・・・。 皆様に教えていただきたいのは、 ・この意図しない動作がなぜ起こるか ・どうすればこの問題を回避できるか です。よろしくお願いいたします。 もし初歩ミスでしたら、申し訳ありません・・・。ご指摘ください。

  • VBA シートのコピー

    シートをコピーし、挿入をシートの末尾にする場合はどうなりますか? マクロを使ってやったときに、20のシートがあったため、下記のようになりますが、これだと、2回目以降にコピーしたとき20番目に挿入されて末尾には移動しないですよね。 そこは、どうしたらいいですか?? シート名「あああ」 Sheets("あああ").Copy After:=Sheets(20) お願いします。

  • ボタン操作で元の画面から移動してしまう

    マクロで下記の記録で操作しております。 別シートにフォームコントロールで追加のボタンをつくって操作したところ コピーしたシートへ画面が移ってしまいます。 どのように追加記録したらいいかお教え下さい。 VBAは初心者です。 Sub シートコピーして追加() myNumber = Worksheets.Count Sheets("マスター").Copy After:=Worksheets(Worksheets.Count) ActiveSheet.Name = myNumber - 2 End Sub

  • エクセルでシート複製(マクロ)

    いつもお世話になります。 いろいろ検索して下記のコードにたどり着きましたが、c10の値のシートが「現在」のシートの左側にきてほしいのですが、afterをbeforeにすると「現在(2)」-「c10の値」になってしまいます。 ちなみに下記コードを実行すると「現在」-「c10の値」の並びになります。 欲しいのは「c10の値」-「現在」の並びです。 マクロを実行する度にシートが右に増えていくイメージです。 よろしくお願い致します。 Sub 現在() Sheets("現在").Copy after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Range("c10").Value End Sub

  • アドイン内部のシートのコピーと移動

    Excel VBAで、アドインについて質問させていただきます。 他のブックを開いている時に、アドイン自身にあるシートを、 アドイン内で移動及びコピーをしたいのですが以下のコードではエラーとなってしまいます。 移動(アドイン自身の変数 i 番目のシートを、左へ移動) ThisWorkbook.Sheets(i).Move before:=ThisWorkbook.Sheets(i).Previous コピー(アドイン自身の変数 i 番目のシートを、アドイン自身の末尾にコピー) ThisWorkbook.Sheets(i).Copy after:=ThisWorkbook.Sheets(Thisworkbook.Sheets.Count) MoveやCopyメソッドの引数を指定せず新規ブックにコピー及び移動なら可能なのですが、引数の指定に誤りがあるでしょうか?ちなみにアドイン自身の内部でシートを追加、シート削除、名前の変更は可能なようです。 どなたかご教示いただきたく、よろしくお願いいたします。

  • VBAでボタンを押すとシ-トのコピ-そして名前変更までできましたけどシ

    VBAでボタンを押すとシ-トのコピ-そして名前変更までできましたけどシ-ト名がダブル場合どうしたらいいでしょうか? ダブらないようにシ-ト名のあとに枝番号(-1.-2.-3・・・)するには・・・ご教授お願いします。 Sub sheetの複写() ' ' sheetの複写 Macro ' シ-トを末尾にコピ-します。 ' ' For i = 17 To 17 Sheets("サンプル").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = Sheets("サンプル").Range("Z" & i).Value Next End Sub が今のマクロです。 エクセル2003です。

  • Excel VBAでのシートのコピーがヴァージョン違いで出来ない?

    Excel VBAでのシートのコピーをしようとしてヘルプを参考に Sheets("master").Copy After:=Sheets("master") のようにマクロを書きました。 これでExcel2000ではちゃんとコピーしたのですが、Excel97ではコピーをしてくれません。 いくつかの端末(OSはWin95、WinNT4、Win2000)でやってみましたがExcel2000はOK、Excel97ではダメでした。 なにか原因があるのでしょうか?

  • Excel VBA 非表示の別ブックへシートコピー

    Excel2010のVBAで、別のExcelブックを非表示で開いて、 シートをコピーすると、 「実行時エラー'1004':WorksheetクラスのCopyメソッドが失敗しました。」 というエラーが出て、正しくシートをコピーすることができません。 (1)のように自分のブックへはシートをコピーすることはできるのですが、 (2)のように別のExcelブック上でシートをコピーする場合と (3)のように別のExcelブック上にシートをコピーする場合の いずれも同様のエラーになります。 どのように記述すれば(2)と(3)でもコピーすることができるのでしょうか。 ------------------------------------------------------------- Sub test()  Dim newEx As Excel.Workbook  Dim newFile As String  newFile = ThisWorkbook.Path & "\New_Book.xlsx"  Set newEx = Workbooks.Open(newFile, UpdateLinks:=0)  Application.Windows("New_Book.xlsx").Visible = False  '(1)New_BookのSheet3を自分のブックにコピーする (正常)  newEx.Worksheets("Sheet3").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)  '(2)New_BookのSheet3をNew_Bookにコピーする (エラー)  newEx.Worksheets("Sheet3").Copy after:=newEx.Sheets(newEx.Sheets.Count)  '(3)自分のブックのSheet3をNew_Bookにコピーする (エラー)  ThisWorkbook.Worksheets("Sheet3").Copy after:=newEx.Sheets(newEx.Sheets.Count)  Application.Windows("New_Book.xlsx").Visible = True  Application.DisplayAlerts = False  newEx.Save  newEx.Close  Application.DisplayAlerts = True  Set newEx = Nothing End Sub -------------------------------------------------------------

  • マクロでエクセルシートのコピー

    マクロでシート1を最後尾に名前をつけてコピーしたいと思ってます。 つけたい名前は、シート2のあるセルにかいてあります。 私は下記のように書いたのですが、エラーになってしまいます。 Worksheets("Sheet2").Select newsheet = Cells(1, 1) Sheets("Sheet1").Select Sheets("Sheet1").Copy After:=Sheets(newsheet) どのようにすればシートをシート名をつけてコピーできますか? 教えてください。 エクセル97です。

  • エクセル2000のマクロについて再び

    新しいブックを作りさらに他のブックで作成されているシートをコピーして移動するというマクロを作ります。この時、新しく作ったブックの名前がBook1にならないとその時点でマクロのエラーになりなってしまいますが、たまにBook2になってしまうときがあります。必ずBook1になると指定することはできないのでしょうか。 Sheets(Array("sheet1", "sheet2", "sheet3")).Select Sheets(Array("sheet1", "sheet2", "sheet3")).Copy →新しいシートを作成 Workbooks.Open Filename:="C:xxx\○○\△△.xls" Sheets.Copy after:=Workbooks("book1").Sheets(2) →ここで、Book1が存在しないとエラーになってしまう。 お願いします。