エクセルの名前の定義を他のファイルにエクスポートする方法

このQ&Aのポイント
  • エクセルの名前の定義を他のファイルにエクスポートする方法についてお教えいただけませんか?エクセルの名前の定義で質問です。国別や機種別にデータ集計をしている際に、一つのファイルで定義した名前を他のファイルにコピーする方法を知りたいです。詳細な文面ではありますが、ご教授いただけると幸いです。
  • エクセルの名前の定義を他のファイルにエクスポートする方法を教えてください。国別や機種別にデータを収集しており、それぞれのデータをグラフにしています。各ファイルには異なるデータがありますが、名前の定義は一貫しています。一つのファイルで定義した名前を他のファイルにコピーする方法を知りたいです。
  • エクセルの名前の定義を他のファイルにエクスポートする方法が知りたいです。国別や機種別にデータを集計しており、それぞれのファイルには異なるデータがありますが、名前の定義は同じです。一つのファイルで定義した名前を他のファイルにコピーする方法を教えていただけますか?
回答を見る
  • ベストアンサー

エクセルの名前の定義を他のファイルにエクスポートする方法?

エクセルの名前の定義で質問です。 一つのファイルで定義した名前を、他のファイルにそっくりそのままエクスポートあるいはコピーできないものでしょうか。 ある分野の機器を、国別・機種別にデータ集計を取って、グラフにしています。 国は6カ国あり、一カ国ごとに1ファイルあります(例、France.xls、USA.xls、Japan.xls等)。 機種は8種類あり、それぞれの機種ごとにシートを設けているので、各国ファイルは各々8シートで構成されています。 (例 france.xlsファイルには、machine1, machine2, machine3・・のようにシートがある。) 各シートの構成要素は全く同じで、データ数値と、データ数がそれぞれ異なるだけです。 これらのシートは既に作成されており、前任者は毎月更新されるデータを表にいちいち貼り付けて、グラフ範囲も手作業で更新してきたようなのですが、更新する量が多いのでできる限り自動化したいと思い、グラフ範囲は、表の行が毎月増減するのに自動対応できるよう、Offset関数を使って表の名前を定義し、グラフもそれに合わせて自動更新できるようにしました(例 =OFFSET($S$5,0,0,COUNTA($S$5:$S$1000),1)のように)。 名前は各シートにつきグラフタイトル用、値1用、値2用と設定したので、1シートにつき3つ×8シート=24定義にもなっていまいました。 そして最初のファイルをとりあえず保存したのですが、残り5カ国のファイルも一つ一つ手入力で名前を定義しなくても、最初のファイルで設定した名前を他のファイルにコピーできないものかと思い、ご質問させていただいてます。  各ファイルの構成要素は全く一緒なので、定義した名前とその範囲はみな一貫しています。 どなたか、一つのファイルで定義した名前を他のファイルにエクスポートできる方法をご存知でしたら、ご教授お願いいたします。 わかりづらい文面で申し訳ありません。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

VBAで良ければですが。 基にしたいブックに下記コードを貼り付けて、変更の都度実行します。 実行する際は変更したいブックも全て開いておきます。 (半分ずつでもいいです) Sub 名前の定義変更()  Dim nam As Excel.Name  Dim wb As Workbook  For Each wb In Workbooks     If wb.Name <> ThisWorkbook.Name Then       For Each nam In ThisWorkbook.Names          wb.Names.Add Name:=nam.Name, RefersTo:=nam       Next     End If  Next End Sub 貼り付ける所は、 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_vbe.html を参考に”標準モジュール”という場所です。 実行方法は基になるブックを表示してAlt+F8キーを押し、 ”名前の定義変更”を選択してOKです。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 簡単にするなら、シートコピーすれば出来ます。 邪魔なデータがあるなら、それは消せばよいはずです。

blimey_UK
質問者

お礼

回答ありがとうございます。 シートは全ファイルにつき既に作成されており、過去データも各々入っているので、一つのファイルから別ファイルに今からシートコピーをするわけにはいかず、名前だけコピーできればと思った次第です。  N-junさんの方法で解決しましたので、良かったです。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 >”名前の定義変更”を選択してOKです。 ”名前の定義変更”を選択して”実行”でした。

blimey_UK
質問者

お礼

素晴らしい! あっという間に解決しました。 n-junさん、ありがとうございます! 教えていただいたとおり実行したら、全てのファイルに同じ名前がコピーできました。 感動です。 本当に本当にありがとうございました。

関連するQ&A

  • excel グラフのデータ範囲に名前定義を使いたい

    可変の範囲を持つ折れ線グラフを作成したいのです。 グラフウィザードでデータ範囲を =エクセルファイル1.xls!valueとして(範囲をvalueとして名前定義しています。データがある行までを範囲指定するものです) 実行すると、一見正しく表示されているのですが 表のデータが増えたりしても範囲を変更してくれません。 グラフを右クリックして元のデータを見てみると、先程 =エクセルファイル1.xls!valueと指定したところが具体的な範囲(A10:G20)等に変わってしまっていました。 最初にグラフを作成したときの範囲がずっと反映されるようなのです。 私は常に=エクセルファイル1.xls!valueの範囲を反映させてほしいのですが…… 具体的にどういう方法があるのでしょうか……

  • EXCELにて名前を変更したが他のファイルでは反映されていない

    どなたか、お教え下さい。 MicrosoftのEXCEL2000において困っているのですが、 datalist.xls というファイルにおいてデータのリストを作りました。 「入力A部.XLS」という入力用のファイルの中で Vlookup関数を使って、先ほどのdatalist.xlsを参照 しているのですが、 =VLOOKUP($E5,data_A,2) のように、名前を使って参照範囲を決めています。data_Aでは、datalist.xls のデータ部分(名前コードと名前)を定義しています。 データが増えてきましたので、datalist.xls のデータを増やし、「data_A」の定義の範囲についても広げたのですが、その広げたことが、「入力A部.XLS」に反映されていません。「挿入」「名前」「定義」で確認しても以前の古い範囲のままです。 どうしたら反映させることが出来ますか? なお、入力用のファイルはA部から複数有りますので、一度に変更される方法を探しています。 よろしくお願い致します。

  • エクセル2003 グラフ 名前定義

    いつも回答して頂き、ありがとうございます。 グラフの参照範囲を名前定義で選択して作成し、動作も完璧でした。 そのグラフのはいったシートをコピーした所、参照範囲元のデータがコピー元のままでした。 名前定義で参照範囲を選択した場合、各シート毎に名前定義を作成しなければいけないのでしょうか?コピー先のデータを参照する方法があるのなら教えて頂けないでしょうか?宜しくお願い致します。

  • 別のエクセルファイルで名前の定義をつけた範囲からの検索

    書類を作成するのにエクセルを使っています。 現在のところ、検索するデータを同じエクセルファイルの別シートからINDIRECT関数で名前の定義を付けた範囲から検索しています。名前の定義をつけたデータは数種類あります。 これを別のエクセルファイルに移し、そこから検索できますか? よろしくお願いします。

  • Excel 他のファイルからシートをコピー 名前の定義を引き継がない。

    こんにちは、 ・EXCELで他で作ったファイルのシートがあります。(シート1) ・シート1には、いろいろと名前が定義されています。 シート1をコピーした際に名前の定義が引き継がれないようにするにはどうすればいいのでしょうか? 何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • Excelにて、消したシートに名前定義したリストが使えるのはなぜ?

    Excelのsheet1にて表を作り、 sheet2には、書き出したデータを名前定義し、 sheet1の表へ入力規則よりその名前を元の値としてリストを作り、 選択入力できるようにしていた書類を、 他の従業員にメールにて送り、 毎月、表を記入してもらい、月末に提出してもらうよう指示しました。 そして、その返信メールにて返ってきた添付データを確認すると、 sheet2が消されて(削除?)いました。 しかし、入力規則のリストは普通通り使えていますし、 定義した名前のリンク先を見ると、「=sheet2!$A$1:$A$15」となっており、 消されているシートが定義されていました。 でも、自分で元データにてシートを削除してみると リストは消え、下向きの黒三角しか出てきません。 どうやれば、シートを消しても消したシートに名前定義したデータを リスト化させることが出来るんでしょうか? 分かり方お教え下さい。宜しくお願い致します。

  • Excel Pivot 名前の定義の値をマクロで取得

    こんにちは。いつも参考にさせていただいています。 マクロでPivotを自動更新する記述をしています。 データが入力されているシートに 名前の定義をして"データ"と名前をつけ、参照範囲を以下のとおり設定しました。 =OFFSET($A$1,0,0,COUNTA($A:$A),COUNTA($1:$1)) Pivotが表示されるシートのマクロに下記のように記述して、 自動的に更新ができることを確認できました。 Private Sub Worksheet_Activate() Range("A1").Select ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _ "データ" End Sub マクロ自体は問題なく動くのですが、 目でも確認をとりたいため、MsgBoxを追加して、現在選択されているデータ範囲を表示させたいと考えています。 例) 「データ範囲は$A$1:$D$150に変更されました」 そこで、 MsgBox "データ範囲は" & データ & "に変更されました" という一文を上記に追加してみましたが、データの部分でセルの範囲を取得できませんでした。 "データ"としてもダメで、名前の定義で指定された範囲の値を取得する方法がわかりません。 マクロで可能な仕様なのかもわからないのですが、 どなたか解決法をご存知でしたら教えていただけないでしょうか。 よろしくお願いします。

  • エクセル 名前の定義 増える

    表題の通りですが、 名前を定義したシートをコピーした時に増えていくのは仕方ないとして、 テーブル化したセル内に名前を定義した後(参照範囲が=テーブル1[テーブル1]など)、 別の空白のシートを挿入、その空白のシートをコピーして増やすと名前の定義が増えます。 テーブル化せずに名前の定義をした場合は増えません。 Excel2016なのですが、これは仕様?バグ?どうなんでしょうか。 何もない空白のシートをコピーすると増えていくのがバグだと思わないと理解できないのです。

  • エクセル2007での名前の定義について

    エクセル2007での名前の定義について教えて下さい。 エクセル2007を使用しています。 「現金」というシートのA1:A5を選択し、 シート左上の名前定義ダイアログの名前ボックスに、 「科目」と登録し、 「銀行」というシートのA1:A5を選択し、 シート左上の名前定義ダイアログの名前ボックスに、 同じように「科目」と登録すると、 先に登録した「現金」シートの「科目」のセルに飛んでしまい、 同じ名前を使用することが出来ません。 しかし、前任者の作成したデータでは、内容が違う同じ名前の定義が出来ています。 (シート左上の名前定義ダイアログの名前ボックスをみると同じ名前。 でも内容はシートごとに違う) これはどのようにしたら出来るのでしょうか? お分かりになる方お願いいたします。

  • excelのグラフ 範囲可変の複数系列の指定

    Excelである表を元に、グラフを作成します。 元データは、月々データが増え、最新の36件についてグラフを作成します。 そこで、名前の定義で元データの範囲(offsetとCountaを使います)を指定するのですが、系列が8個あります。 各系列を8個の名前で定義すればいいのでしょうが、 元の表のグラフにする「範囲」に名前を定義して、グラフの各系列の参照データを、範囲の名前をつかって、指定することはできませんか? 系列1・・・”名前”の1行目 系列2・・・”名前”の2行目  ・  ・ という指定の方法はできますか? 同じようなグラフを数種類作成するため、1グラフの名前の定義数を減らして、すっきりさせたいのです。 ちなみに、今回は、マクロを利用できません。 よろしくお願いします。

専門家に質問してみよう