dポイントプレゼントキャンペーン実施中!

Excelで、複数シートの同セルに、文字が入力されているものを別シートの列に表示させるいい方法を教えてください。

・sheet1は、纏めるsheet
・sheet2~4となっています。

例)
sheet2~sheet4のB2には、
帯広
八戸
盛岡
という文字が入力されていたとします。

それを、sheet1(一覧表)のB2、B3、B4にそれぞれ表示させたい。以下参照。
市町村名
帯広
八戸
盛岡


・sheetは、左から順番に並んでます。
・見出しは入力済みです。
-------------------------------------------------------------
また、できるかどうかわかりませんが、
実際にはsheet名は都道府県名となっておりますが、シート名を読み込んで表示するというような、画期的なこともできるのでしょうか?
こちらは、上記が出来た上でのことなので、出来なければ出来ないで構いません。

Sheet名 市町村名
北海道  帯広
青森   八戸
岩手   盛岡

どうぞ、よろしくお願いいたします。

質問者からの補足コメント

  • こんにちは

    すみません、、、
    説明が足りませんでした。

    実際は、
     同様シート数が20~30位あるファイルが200個弱あります。
     各シートの決められた位置の値の一覧が作りたかったのです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/05/24 09:09
  • 手っ取り早く一覧を作成する手法があったらぜひお願いいたします。

      補足日時:2020/05/24 10:15

A 回答 (3件)

No1です



>手っ取り早く一覧を作成する手法があったらぜひお願いいたします。
No1でも触れましたが、「ユーザー定義関数」や「マクロ」を利用すれば可能と推測されます。
しかしながら、「手っ取り早い」かどうかは、質問者様が作成するのにかかる時間を想像すると疑問です。

何をどうなさりたいのか不明ですが、処理内容を何段階かに分けて、通常の関数等を利用して簡単な処理に分解して行う方が、結果的に速いのではないかと思います。

例えば、以下はブック内のシート名の一覧をメッセージボックスに表示する例です。
標準モジュールに記載してから実行すると、一覧が表示されます。ご参考まで。

Sub Sample()
Dim i As Long, s As String
For i = 1 To Worksheets.Count
 s = s & Worksheets(i).Name & vbNewLine
Next
MsgBox s
End Sub
    • good
    • 0
この回答へのお礼

>処理内容を何段階かに分けて、通常の関数等を利用して簡単な処理に分解して行う


おっしゃる通りです。やっとあたまの整理がつきました。
目の前の霧が晴れたとてもいい気分です。

ありがとうございました。

お礼日時:2020/05/29 20:22

ちょっと大変ですが、下記のサイトの記事を読んで勉強して下さい。


ヒントになると思います。

■Office Hack Excelシート名を取得する関数
<https://www.google.com/amp/s/office-hack.com/exc …
    • good
    • 0
この回答へのお礼

ありがとうございます。

現在、
ステップ1として
 ファイルの最初にシートを追加してブック内のシート枚数、シート名を自動取得して表示できないか勉強中です。

お礼日時:2020/05/27 22:12

こんにちは



質問内容をちゃんと把握できていないかもしれませんが・・

>B2、B3、B4にそれぞれ表示させたい。
普通に考えれば、コピペを3回行うだけ。
値を連動させたければ、参照式を設定しておく。

>画期的なこともできるのでしょうか?
何が変化して何が変化しないのかがわかりませんが、ユーザー定義関数を利用すれば可能そうに思われます。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。

ユーザー定義関数も勉強し直してみます。

お礼日時:2020/05/27 22:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!