• 締切済み

Excelのシートのコピー

0.前準備としてExcelで帳票の雛型を作成しておく。 1.VBよりExcelを起動し、雛型のsheetをcopyする 2.copyしたシートの名前を変更する 上記の作業をloopで回してやりたいのですがどのようにしたら良いのでしょうか?  ご教授お願いします。

  • SENAS
  • お礼率8% (4/46)

みんなの回答

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.1

1.VBで実現したいことを、直接EXCELでマクロを記録しながらやってみる。 2.過去スレにいっぱいある、VBからエクセルを開いていたり、終了したりする処理を勉強する。 3.これらを組み合わせてとりあえず自力でやってみる。 4.行き詰まったところで、どの部分で困っているかを状況を述べ、必要に応じてソースを公開する。(環境公開は必須)

関連するQ&A

  • excel vba シートがなければコピーしたい

    excel vba で教えてください sheet名0を雛形に、使用者が1 2 3のsheet名でコピーして利用できるようにしたい。1はあるのでコピーを作らない。2はないのでsheet名0をコピーして作るといったように現在sheet2があるや否やで作成するや否やを判断してsheet copyをしたい。 すべてのsheet を名前をしらべつつ判断したいのです 教えてください

  • Excel VBA Sheetのコピー?(制限あり)

    お世話になります。 Private Sub CommandButton1_Click() '初期化 Sheet1 = Sheet2 End Sub 当然これではエラーになります。 Sheet1、Sheet2 は同じ表です。 ( セルの幅・高さ など全て同じ ) Sheet1 作業シート Sheet2 雛型シート Sheet1 に入力していますが、 間違ったりして訳が解らなくなった時 CommandButton1_Click で 雛型に戻したいのですが・・。( Sheet2→Sheet1 ) Copy Paste は使えません。 色々制限を掛けていて(ProtectSharingなど) ご教授をお願い致します。 説明不足もあると思いますので、分からない点は補足致します。

  • エクセルでシートをコピーしているのですが・・・

    「4日」という名前のシートをコピーして作業しているのですが たまに間違えて「4日(1)」のシートをコピーしてしまうと 『移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前'afda'が含まれています。この名前を使用しますか?』 というエラーメッセージが出ます。 ここで「はい」を選ぶと 延々 上記メッセージが繰り返し表示され、 「いいえ」を選ぶと 『名前の重複』というウインドが出て 『同じ名前がリンク先のシートに定義されています。 変更前:eytw 変更後: 』 と表示されます。 変更後の部分に 何か言葉を入れると 『同じ名前が既に定義されています』 と出ます。 キャンセルを押すと 『移動またはコピーしようとしている数式またはシートには・・・・・・ のメッセージに戻ります。 いつも どうにもならなくなり エクセルを強制終了させてるので 保存していない文書のときは かなり泣けてきます(T_T) 原因や解決方法がありましたら アドバイスよろしくお願いします ちなみに シート名「見本」でコピーしたときも同じエラーになりました。

  • vbsでExcelのシートをコピーするには

    vbsでExcelのシートをコピーすることができず、困っています。 雛形のAファイル(Excel)のシートを別のBファイル(Excel)にコピーしたいのですが、 下記コーディングでは、「実行時エラー この変数は宣言されていません。: 'before'」となります。 xlsSheet.Copy before:=xlsBook2.Worksheets("Sheet1") Excelのマクロに記載して、Excelのコマンドボタンから呼び出すなどすれば動くのですが、 ハンディ端末のサーバ側アプリがvbsで、vbsから行いたいのです。 vbsでExcelファイルのシートをコピーすることはできないのでしょうか。 ご存知の方、ご教授いただければ幸いです。

  • ExcelのVBAでシートのコピー

    Excel2000 Win2000 複数(最低5)のシートが存在するExcelのBookでExcelのVBAを使用して strSheetName="XXX1" intSheetNo = 1 Sheets(strSheetName).Copy after:=Sheets(intSheetNo) とシートのコピーをしています。 この時コピーされたシートのインデックスが2にならないんですが、何故なんでしょ? やりたい事はコピーしたシートの名前をExcelが勝手につけた名前から変更したいんです。 コピーされたシートのインデックスが2になると思っていたので上手く行きません。 Sheets(intSheetNo + 1).Name = "XXX1-1"

  • エクセルにおいてシートのコピーの仕方について

    エクセル初心者です。 excle2010を使用してます。 作業中のブック内でシートをコピーする時に A のシート ctrLキーを押しながらシートをドラッグする B のシート 〃 すると 移動またはコピー******* この名前を使用しますか ******* ******** はい いいえ で はい を数回押して コピーを作成しています。 BのシートをAのシートの様に変更するにはどうしたら良いか教えてください。

  • エクセル、シートのコピーについて

    現在、エクセルでファイルを作成中なのですが、あるシートを20ほどコピーしたいのです。名前はあとで変更するとして、一度に20ものコピーは可能ですか? シートのタグを右クリックして、いちいちひとつずつやっていたのでは時間がかかりますので。

  • エクセルシートをふやしたい

    初歩的な質問ですが、OFFIC2003を使用していますが、エクセルを開いたときのシート数を増やすのは、ツール、オプション、全般、新しいブックの数で変更できるのですが、他人の作成したエクセルには(OFFIC 2003です)シート数を増やす作業(上記の作業をしても)をしても増やすことができません。だめなときは、ワークシートの挿入で好きなだけ増やすのはできるのですが・・・・ できたら自動設定でできないのでしょうか。

  • Excelシートのコピー

    VB2008,Excel2007です。 VBからExcelのシートコピーを行いたいのですが、エラーが出てしまい対応策が分からず困っています。 どうすればいいのかご教授ください。 今、書いている処理は下記になります。 エラーが発生するのは最終行です。 エラー内容は「"HRESULT からの例外: 0x800A03EC"」 Dim CopyExcel ,PasteExcel As New Excel.Application Dim CopyBooks ,PasteBooks As Excel.Workbooks Dim CopyBook ,PasteBook As Excel.Workbook Dim CopySheets,PasteSheets As Excel.Sheets Dim CopySheet ,PasteSheet As Excel.Worksheet 'ExcelBookオープン CopyBooks = CopyExcel.Workbooks CopyBook = CopyBooks.Open("C:\Copy.xls") CopySheets = CopyBook.Worksheets PasteBooks = PasteExcel.Workbooks PasteBook = PasteBooks.Open("D:\Paste.xls") PasteSheets = PasteBook.Worksheets 'シートコピー CopySheet = DirectCast(CopySheets.Item(1), Excel.Worksheet) PasteSheet = DirectCast(PasteSheets.Item(1), Excel.Worksheet) CopySheet.Copy(PasteSheet)

  • VBからExcelのシートを操作する

     VBからExcelを操作するのですが、  たとえば、Book1のSheet1 を Book2のSheet1の後ろへ  という形でシートをコピーしたいのですがうまくいきません。    Sheet1,Sheet2を Excel.Worksheet 型で定義した変数へそれぞれ取得し、Sheet1のcopyメソッドを使って試しています。  Sheet1.copy のみだと、新たなブックへきちんとコピーされるのですが、After:= Sheet2 をつけるとエラーが起きてしまいます。  この方法で、また、他の方法でもうまくいく方法を御存知の方、何卒御教授のほどをお願いします。

専門家に質問してみよう