-PR-
  • 困ってます
  • 2007-08-16 21:02:33
  • 質問No.3260486
解決
済み

Q エクセルでシートコピーするマクロについて

  • 閲覧数3881
  • ありがとう数4
  • 気になる数0
  • 回答数5
  • コメント数0
happy5541

マクロ初心者です。宜しくお願いします。
エクセルで一つのSheet1があります。そのSheet1には、一覧表があります。マクロを実行することで、Sheet1の後ろにSheet2を作成して、Sheet1と同じ一覧表をコピーして表示できるようにし、それを、マクロを実行すれば、ワークシートが一枚追加され、Sheet2のシート名になり、シートを追加する度にシート名が、Sheet3、Sheet4、Sheet5となるようにしたいです。
分かりづらい説明ですが、宜しくお願いします。
  • 回答数5
  • 気になる数0
  • Aみんなの回答(全5件)

    質問者が選んだベストアンサー

    • 2007-08-17 07:05:17
    • 回答No.5
    普通エクセルには、新規ブックを開いたときのシート数が決められます。3が多いと思います。
    .SheetsInNewWorkbook = 3
    とかです。
    するとシート名はSheet1、Sheet2、Sheet3という名前にとりあえずなります。
    質問は具体的にシート名を書いてくれているのは良いが、上述の名前とぶつかります。それをあえてSheet2とかに拘るなら、一旦シートを削除したり、名前を別の名前に変えないとなりません。
    ーー
    質問としてはシートを増やした後のシート名は自動的には
    Sheet1(2)のようになるが、したい名前は
    A.ルール化した名前「シート1」「シート2」
    B.前もってシートのセルに入力しておく
    などしないといけません。
    ーー
    (1)シートを増やす・コピーする程度のVBAは解説書・WEBに必ず載ってます。
    1冊も本を読んでないのでは?
    (2)エクセルVBA学習は、エクセルの操作や機能、状況を勉強するのと、表裏一体です。VBAのコードだけ知ろうとしても無理です。マクロ初心者でも、必要最小限、エクセルを知らないのではダメです。質問にそれが伺えます。
    ーー
    Sub test01()
    n = Sheets.Count
    'MsgBox n
    Sheets("Sheet1").Copy after:=Sheets(n)
    ActiveSheet.Name = "シート" & n + 1
    End Sub
    ーー
    .Name
    Sheets.Count
    Sheets(インデックス番号)の意味
    を勉強してください。
    お礼コメント
    ありがとうございます。
    マクロについては、全く無知です。
    これから頑張って勉強していきます。
    投稿日時 - 2007-08-17 19:29:30
    • ありがとう数0
    -PR-
    -PR-

    その他の回答 (全4件)

    • 2007-08-16 21:26:22
    • 回答No.1
    エクセルでSheet1シートのコピーを行うと、シート名は「Sheet1(2)」になります。これをSheet2、Sheet3のようにしたいということでしょうか?  以下はアクティブシートをSheetX(Xは既存複数シートで最大の数字)のXの次に大きな数字の名前でCOPYするマクロです。 マクロはALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジ ...続きを読む
    エクセルでSheet1シートのコピーを行うと、シート名は「Sheet1(2)」になります。これをSheet2、Sheet3のようにしたいということでしょうか? 

    以下はアクティブシートをSheetX(Xは既存複数シートで最大の数字)のXの次に大きな数字の名前でCOPYするマクロです。
    マクロはALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。

    Sub Macro3()
    Dim MaxSheet As Integer
    Dim strShNo As String
    Dim sh As Worksheet
     For Each sh In Worksheets
      strShNo = Application.Substitute(sh.Name, "Sheet", "")
      If IsNumeric(strShNo) Then
       If MaxSheet < Val(strShNo) Then
        MaxSheet = Val(strShNo)
       End If
      End If
     Next sh
     Activesheet.copy after:=Worksheets(Worksheets.Count)
     ActiveSheet.Name = "Sheet" & MaxSheet + 1
    End Sub
    補足コメント
    早速ありがとうございます。
    早速試さしてもらいました。もう少し御願いします。
    コピーするシートは、Sheet1です。Sheet1を原紙として使用したいと思っています。
    宜しく御願いします。
    投稿日時 - 2007-08-16 22:35:55
    • ありがとう数0
    • 2007-08-16 22:03:47
    • 回答No.2
    シート名にこだわらなければ Sub test()  ActiveSheet.Copy after:=ActiveSheet End Sub 参考>http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page2.htm ...続きを読む
    シート名にこだわらなければ

    Sub test()
     ActiveSheet.Copy after:=ActiveSheet
    End Sub

    参考>http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page2.htm
    お礼コメント
    ありがとうございました。
    投稿日時 - 2007-08-17 19:25:55
    • ありがとう数0
    • 2007-08-16 23:03:37
    • 回答No.3
    #2です。 補足です。 最初のシート名を Sheet(1) という名前にしておけば、#2のマクロを実行すると Sheet(2)、Sheet(3)、Sheet(4)という名でコピーされていきます。 実用上問題となる場合はこの回答は無視してください。
    #2です。

    補足です。

    最初のシート名を
    Sheet(1)
    という名前にしておけば、#2のマクロを実行すると
    Sheet(2)、Sheet(3)、Sheet(4)という名でコピーされていきます。

    実用上問題となる場合はこの回答は無視してください。
    • ありがとう数0
    • 2007-08-17 06:19:51
    • 回答No.4
    #01です >コピーするシートは、Sheet1です Activesheet.copy を Worksheets("Sheet1").Copy に変えるだけです 初心者とはいえマクロをさわることがあるなら、ヘルプを見るとか参考書を見るとか、少しは自分で調べないとスキルアップしませんよ ...続きを読む
    #01です
    >コピーするシートは、Sheet1です
    Activesheet.copy を Worksheets("Sheet1").Copy に変えるだけです

    初心者とはいえマクロをさわることがあるなら、ヘルプを見るとか参考書を見るとか、少しは自分で調べないとスキルアップしませんよ
    お礼コメント
    おっしゃるとおりです。
    少しずつ勉強していきます。
    また、機会があれば宜しく御願いします。
    投稿日時 - 2007-08-17 19:27:51
    • ありがとう数0
    • 回答数5
    • 気になる数0
    • ありがとう数1
    • ありがとう
    • なるほど、役に立ったなど
      感じた思いを「ありがとう」で
      伝えてください
    • 質問する
    • 知りたいこと、悩んでいることを
      投稿してみましょう
    このやり方知ってる!同じこと困ったことある。経験を教えて!
    このQ&Aにはまだコメントがありません。
    あなたの思ったこと、知っていることをここにコメントしてみましょう。

    関連するQ&A

    -PR-
    -PR-

    その他の関連するQ&Aをキーワードで探す

    別のキーワードで再検索する
    -PR-
    -PR-
    -PR-

    特集


    成功のポイントとは?M&Aで経営の不安を解決!

    -PR-

    ピックアップ

    -PR-
    ページ先頭へ