• ベストアンサー

Excel2007 マクロ シート名の変更とブックの作成

Excel2007 マクロ シート名の変更とブックの作成 10個のシートがあります。 各シートには、企業名と担当者名が 記載しています。 その企業名と担当者名をシート名に変更したいです。 <例> ○○商事_佐藤 また、変更したシート名で各シートごとに ブックを作成したいです。 どのようなマクロを作成すればよろしいでしょうか。 添付のように企業名と担当者名が記載してあります。 アドバイスよろしくお願いいたします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

hyogara777さん、おはようございます、merlionXXです。 いま、やっと2007で試すことができました。 昨夜回答したコードでちゃんと作動します。\(*^▽^*)/ ただ、おわかりとは思いますが、最初に Sub Sheet名変更() を走らせシート名を変えてから、Sub Book作成() を動かしてくださいね。 また、作成されたあたらしいBOOKはすべてこのVBAを書いたBOOKのあるフォルダー内に格納されます。 ということはこのVBAを書くBOOKは必ず一旦保存されていることが前提ですので念のため。(ThisWorkbook.Path で保存先を指定するので)

hyogara777
質問者

お礼

merlionXXさん、2007の検証まで行っていただきありがとうございました。問題なくマクロが動きました。早い回答に非常に感謝しております。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

てもとに2007がないので違うかもしれませんが 会社名がB1、担当がB2セルなら以下でいかがでしょう? Sub Sheet名変更()   Dim ws As Worksheet   For Each ws In Worksheets     ws.Name = ws.Range("B1").Value & "_" & ws.Range("B2").Value   Next End Sub Sub Book作成()   Dim ws As Worksheet   For Each ws In Worksheets     ws.Copy     ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & ws.Name & ".xlsx"     ActiveWindow.Close   Next End Sub

関連するQ&A

  • 【Excel】シート名について(マクロ)

    Excel2003を使用しています。 あるマクロで Sheets("2007 年 01 月分").Select の選択するシート名が変更されても、そのシートを選択することはできないでしょうか? 例えば、コードを書いたときのシート名は『2007 年 01 月分』で、上記のようにコードを書いていて、次回、そのマクロを実行するときに、シート名を『2007 年 02 月分』に変更しても、同じ(元の)シートを選択してマクロが実行されるようにしたいのですが、そういうことはできますか? できるかできないかだけでもわかると助かります。 もし、できる場合は、どのようにすればいいのでしょうか?説明が足りないようであれば補足しますので、よろしくお願いします。

  • マクロを作成するマクロを作成するには(Excel)

    すでにあるシートを見やすいように加工するマクロ(マクロ1とします)(並び替えたり、項目名の変更など)を作成し、それをマクロブックにして汎用運用しています。それで出来上がったシートに特定のセルをダブルクリックすれば、そのセルに今日の日付がセットされるマクロ(マクロ2とします)をその都度手書きで作成して実行しているのですが、そもそも前記のマクロ1の中にマクロ2を作成するマクロを記述したいのです。またマクロ2は特定シートにのみ有効となるように当該シートにはりつけています。作成方法をどなたかご教授よろしくお願いします。

  • 【Excel】マクロを含まないブックに戻すには?

    EXCEL2000を使っています。 マクロのセキュリティレベル([ツール]→[マクロ]→[セキュリティ])は「中」に設定してあります。これは、変更しないでください。 普段マクロを使わないシートで、試しにマクロで組んでみて、そのブックを保存し、その内にうまく行かなかったので、Visual Basic Editerにあるコードをすべて削除して、そのブックを保存・終了しました。次にそのブックを開こうとすると、 「~.xlsはマクロを含んでいます。  [マクロを無効にする] [マクロを有効にする] [詳細] 」 というダイアログが表示されます。(これは、セキュリティレベルが「中」に設定されているからです。 一旦は、マクロコードを削除したのですが、「マクロ使用のブック」というプロパティがくっついて来ているようです。このブックを全くマクロを使用していないブックに戻すには、どんな設定をすればよろしいのでしょうか? つまり、 「~.xlsはマクロを含んでいます。  [マクロを無効にする] [マクロを有効にする] [詳細] 」 のダイアログが表示されない状態に戻したいのです。 ただし、冒頭で申したように、マクロのセキュリティレベルは「中」であり、変更しないで実現したいのです。 よろしくお願い致します。

  • Excel2007 マクロ 複数シートの作成

    Excel2007 マクロ 複数シートの作成 2つのファイルを使用します。 AファイルにBファイルの情報を反映して、会社ごとにシートを作成します。 AファイルとBファイルの画像を添付します。 どのようなマクロを作成すればよいのか教えてください。 よろしくお願いいたします。

  • Excel シートを自動作成、セル値をシート名に 

    エクセルのマクロの自動記録で作業の効率化を図りたいのですがうまく出来ません、ご教示いただけ無いでしょうか。 (VBAは初心者です。本とネットを検索しながら作成していたのですが、 急きょファイルを作成しなければいけない状況になりました。) ■Excel2010 ■ブック詳細 ・Sheet"企業一覧" → 行ごとに企業名、シート名が記載された表があります。   A列 企業名   B列 シート名 ・Sheet"マスタ" → 見積書のフォーマットがあります。   A4 企業名  ■希望作業 シート「企業一覧」の企業ごとにボタンを作り、ボタンを押すと 1."マスタ(Sheet)"のコピーが作成され、 2.コピーされたシートのA4セルに"企業一覧(Sheet)"A列の企業名が記載され、 3.コピーされたシート名に"企業一覧(Sheet)"のB列のシート名が記載され、 4."企業一覧(Sheet)"のB列のシート名に新しいシートへのハイパーリンクを付け 5."企業一覧(Sheet)"に戻る ※下記作業ができません。 ・コピーされた新しいシートに、シート名が付けられない。 ・"企業一覧(Sheet)"のシート名にコピーされた新しいシートへのハイパーリンクを付けられない。 ※シートのコピーは可能なら"企業一覧(Sheet)"の企業名表記順に作成したいと思っています。 ※各企業行ごとにボタンを作るのは面倒なのですが、 企業名/シート名の表記がよく変更になるため、入力と同時にマクロが実行されるのではなく、 何かワンクッションを置きたいと思っています。 ※シートのコピー作成、企業名の記載までは出来たのですが、 その他の作業ができません。よろしくお願いいたします。 --------------------------- Sub Sheet作成() ' ' Sheet作成 Macro ' ' Sheets("マスタ").Select Sheets("マスタ").Copy After:=Sheets("マスタ") Range("A4:B4").Select ActiveCell.FormulaR1C1 = "=企業一覧!R8C1" Range("C4").Select Exit Sub End Sub --------------------------

  • シート名変更のマクロ

    QNo.4400605『エクセルでシート数を指定して挿入するマクロはどうやって作ったらいいでしょうか。例えばA1セルに挿入したいシートの数を入力するとその数のシートが作成されるというようなマクロを作りたいのですが』という質問をしてそれについては解決しましたが、作成されたシートの名前を1~40のような数字に変更するマクロが分かりません。作成するシートの枚数は決まってなく、25シートであったり、40シートだったりします。A1:A40に1~40と変更後のシート名を入力して、それをシート名に反映させるマクロは作れたのですが、毎回シート枚数が変わるので「インデックスが有効範囲にありません」と出てしまいます。型としては、元シートがあり、そこでシート数を指定しシートを挿入し、そのできたシートに数字の名前をつけたいと考えています。長々なりましたが教えて下さい。

  • 【Excel VBA】シート見出しの色を変更する

    Excel2003を使用しています。 シート数が10数枚のBookが複数あり、これらのBookで、シートのデータが変更されたら、シート見出しに色を付けるマクロを作りたく、とりあえず、マクロの記録をとってみました。 マクロの記録で、シート見出しの色を変更するコードや複数のシートを選択するコードはわかりましたが、実際にしたいことは、シート名が4桁の数値のシートにだけ、このマクロが実行されるようにしたいのです。このようなことは可能でしょうか?可能であれば、どのようにコードを記述すればいいでしょうか? よろしくお願いします。

  • フォルダ内の全ブックのシート名を変更したいです。

    同一フォルダ内に、ファイル名の違うエクセルブックが100個ほどあります。 その100個のそれぞれには、シートが1つ入っています。(シート名は、ブック毎に異なっています) それらのシート名を100個全部、「2013-07」という名前にしたいのですが、マクロで一括処理はできますでしょうか? データが多く、マクロ初心者なので、困っております。。 エクセルは2013を使用しています。 お教えいただければ幸いですm(_ _)m

  • 別ブックのシート名称一覧を作成したい

    excel2016 自ブックの中でシート名一覧作成というマクロはwebにあったのですが、 他ブックのシート名一覧を自ブックへ作成というのを どの様に対応したらよいのかがわかりません。 やりたい内容は、 ①自ブックを開く(シート収集するファイル) ②file_openマクロ実行  c:\workにあるfile.xlsmのブックを開く(file.xlsmが他ブック) ③file.xlsmの全シート名称一覧を  自ブックのsheet1シートのA1セルから下へシート名称記載させる。  file.xlsmに登録されているシート名称は日付と時刻と時刻  202110070830 202110071700  … みたいな12桁のシート名称になっている ③自ブックsheet1のB1からB列最終行(A列にデータがある最終行)  まで必要なセルに1を設定 ④自ブックB列でセルに1があれば、他ブックの対象シートを自ブック  へコピー 以上①~④をマクロで対応したいのですが ③の内容がわからないのでベタでマクロ教えていただきたく、よろしくお願いします。

  • Excelマクロ シート名一覧からシート削除

    Excelマクロで質問させてください。 任意のシートに記載されたシート名一覧を参照して、そこに記載されているシート名のシートを、ブック内から削除するマクロは作れますでしょうか? よろしくお願いします。

専門家に質問してみよう