エクセルマクロで別のシートを検索して表示

このQ&Aのポイント
  • エクセルのマクロで特定のセルを検索し、別のシートに表示する方法について教えてください。
  • シート1にある「出席者」という文字の直下に名前があります。それをシート2の特定のセルに表示するマクロを作成したいです。
  • 出席者と名前の位置関係は決まっていませんが、ボタンを押すことで表示させたいです。マクロの作成方法を教えてください。
回答を見る
  • ベストアンサー

エクセルマクロで別のシートを検索して表示

エクセルのマクロで次の様な検索が出来るようにしたいのです。 シート1にあるセル(毎回同じセルとは限らない)に、 「出席者」という文字が入っています。 その直下のセルに名前(毎回違った名前)が入っています。 例 A5=出席者 A6=山田、田中、鈴木 この名前(例のシート1のA6)データをシート2の特定のセルに表示させたいのです。 シート2にボタンを配置してそれをクリックしたら表示できるという風に。(シート2の特定のセルは仮にB10とします) 出席者と名前は毎回同じ位置関係ですが、 表示されるセルは決まっていません。 このような作業をマクロで出来ますか? 出来るのでしたらそのマクロを教えて頂けますか? 初心者です、分かり易い回答をよろしくお願いいたします。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

Sub Sample() Sheets("Sheet2").Range("B10") = _ Sheets("Sheet1").Cells.Find("出席者").Offset(1, 0) End Sub この式はSheet1のCells(セル全体)から出席者と言う文字の入った セルをFind(検索)し、見つかったセルのOffset(1,0)(一つ下のセル) をSheet2のB10に入れると言った内容です。

fightman11
質問者

お礼

ありがとうございます。 思ったとおりに出来ました。

その他の回答 (1)

  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.2

標準モジュールに以下のマクロでOKかと思います。 Sub Macro1() ' Sheets("Sheet2").Select ActiveCell.Value = Range("Sheet1!A6").Value End Sub シート2の張り付けたいセルを選択し、あとはマクロボタンを押すだけです。シート1のA6セルの値が貼り付けられます。

fightman11
質問者

お礼

回答ありがとうございます。 シート1の検索するセルは毎回違うので、 これでは無理です。

関連するQ&A

  • エクセルのマクロについて

    パソコン初心者です。 たとえば シート1のA1に「田中」と入力する。 ボタンを押すとシート2のA1に「田中」と表示される。 次にシート1のA2に「山田」と入力する。 ボタンを押すとシート2のA1に「山田」と表示される。 次にシート1のA3に「鈴木」と入力する。 ボタンを押すとシート2のA1に「鈴木」と表示される。 このようにマクロを組むにはどのようにしたらよいのでしょうか? わかりにくくてすいません。

  • マクロで、別シートを検索して移動したいです。

    マクロ初心者です。 マクロでシート1のA1セルの文字を参照に、別シートにある同じ文字の場所に 移動したいです。 ・シート1のA1セルの文字は毎回変わるので、文字参照ではなくセル参照です。 ・変わってもシート1のA1セルと別シートにある文字は必ず1つづつです。 よろしくおねがいします。 ※Excelは2010

  • 複数のシートのセル内容をひとつにまとめたい

    複数のシートのセル内容をひとつにまとめたいと思っています。 Sheet1        Sheet2      Sheet3 1 山田 ¥100  1 山田 ¥80  3 鈴木 ¥80 2 佐藤 ¥130  2 佐藤 ¥55  4 田中 ¥150 3 鈴木 ¥110  4 田中 ¥60 こんなデータを Sheet4 1 山田 2 佐藤 3 鈴木 4 田中 とまとめたいんです。 金額は必要ないので、番号と名前だけをまとめたいんです。 どうすれば良いか、教えてください。 よろしくお願いします。

  • EXCEL 一覧シートから各シートへ参照

    現在シートが 一覧、1、2、3、 とあります。 一覧シートには、 シート名(A1) 名前(B1) 1(A2) 山田(B2) 2(A3) 鈴木(B3) 3(A4) 木村(B4) と記載されております。(カッコ内は、セルの位置です) シート 1 のA1には、山田 シート1のB2を参照 シート 2 のA1には、鈴木 シート1のB3を参照 シート 3 のA1には、木村 シート1のB4を参照 とシート 一覧から参照して表示されるようにしたい と考えております。 数字の名前のシートが数個であればシート毎に入力すれば済む話ですが、 予定では、順次増え、最終的には100位になる予定です。 数式、マクロ VBA 等を使って  一覧シートに名前を入力すると該当のシートのA1セルに参照させる事は可能でしょうか? よろしくお願いいたします

  • 全シートを選択し、それぞれ特定のセルの値をシート名とするマクロを教えて

    全シートを選択し、それぞれ特定のセルの値をシート名とするマクロを教えてください。 Worksheets.Select ActiveSheet.Name = Range("A1").Value ではダメなんですね… 記録マクロ以上のことはほとんど何もわからない、マクロ初心者です。 条件としては、  ・シート数はその都度変わる  ・シート名にしたいセル番地は決まっている です。 具体的には、「請求書」などの決まったフォーマットで作成された複数のシートがあり、 決まったセルに入力された「宛名」をそれぞれのシート名にしたい というような場合です。 また、同じ「宛名」で複数のシート名があったときに備えて、 新しいシート名の前に数字を振りたいです。 例) Sheet 1 → 1田中様 Sheet 2 → 2佐藤様 Sheet 3 → 3山田様 Sheet 4 → 4鈴木様 Sheet 5 → 5山田様 のように。 数字は識別できればいいので(エラーがでなければいいので)、なんでも構いません。 シートに順に番号を振るのでも、元のシート名の一番右を取るのでもいいです。 (そんなマクロがあるのかもわからないのですが) 宛名が複数あるものだけ選んで番号を振るのでもいいのですが、大変そうな気がするので・・・ マクロ自体よくわかっていないので、情報が不足しているかもしれませんが、 詳しい方、教えてください。 よろしくお願いいたします。

  • Excelのマクロでシートを表示させる方法を教えて下さい

    初心者ですみません。 エクセルでsheet1の特定のセルに入力した値と同じ名前のシートを表示させるマクロを作成したいのですが、どうすればいいか教えて下さい。

  • データを別シートに抽出してリアルタイムで表示させたい

    いろいろ調べてみたのですが、どのようにすればいいのかわからなかったので質問させていただきます。 Excel 2003において、下記のシート1のデータをシート2~4に曜日ごとに抽出したいと思っています。 その際、シート1に追加したら自動でシート2~4に反映されるようにもしたいと思っていますが、どのようにしたらよいでしょうか? Excelが詳しくない者が扱うことが多いので、できればマクロは使わず、関数でできたらいいと思っているのですが、最悪マクロを使った方法でも構いませんのでご教授いただければ幸いです。 【シート1】   a  b   c   d   e      f 1 月  火  水  名前  生年月日  年齢 2 ○        佐藤  1980/1/1  29 3    ○     田中  1981/1/1  28 4 ○     ○  山田  1982/1/1  27 【シート2】(月曜に○のついている人の名前と年齢を表示)   a   b   1 名前 年齢 2 佐藤 29 3 山田 27 【シート3】(火曜に○のついている人の名前と年齢を表示)   a   b   1 名前 年齢 2 田中 28 【シート4】(水曜に○のついている人の名前と年齢を表示)   a   b   1 名前 年齢 2 山田 27

  • Excel マクロ 抽出 フィルタ 別シート

    マクロは記録しかできない初心者です。 たとえば、 田中 6月 ナシ 12 鈴木 4月 林檎 23 安部 5月 葡萄 34 田中 5月 イモ 12 鈴木 7月 エビ 23 というデータがあって、別シートに「田中」だけのデータを抽出したい場合はどのようなマクロを組めばよいですか。 田中 6月 ナシ 12 田中 5月 イモ 12 しかも、その検索するデータを入力すると検索できるようにしたいのですが。たとえば、 A1に田中←と入力するとそれ以下に 田中 6月 ナシ 12 田中 5月 イモ 12  と抽出されるようにしたいです。 マクロ初心者ですので、詳しく説明をいただければ幸いです

  • エクセルで条件に一致する複数の列を取得するには

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ]  [ 山田 ][ 21 ]  [ 佐藤 ][ 76 ]  [ 鈴木 ][ 53 ] 別の「組」シートで、以下のようになっています。  [ A ][ 田中 ]  [ A ][ 佐藤 ]  [ B ][ 山田 ]  [ C ][ 鈴木 ] ここで、「組」シートのどこか空いているセル(例えばF1)に、 「Aの組の点数の合計値」を表示したいと思っています。 考えた方法としては、  1.まず「組」シートのA1からD1を順番に見て、  2.値が「A」になっている場合のみ、そのひとつ右の名前を取得して、  3.「得点」シートで、取得した名前を探し、その点数を取得し、  4.それを全て足す という感じなのですが、どういう式を書けば良いのか分かりません。 度々すみませんが、よろしくおねがい致します。

  • エクセルのマクロ(値を検索して別シートにコピー)

    エクセルで下記のマクロをご教示いただけるでしょうか。 1.Sheet1のアクティブセルの右に5つ、下に1つのセルを起点として下方向に6セル分をコピー (例)Sheet1のアクティブセルがA2だとすると、F3~F8をコピー 2.Sheet1のアクティブセルの値(yy/mm/dd形式の日付)と同じ値のセルをSheet2のA列から検索し、該当セルの右に2つ分のセルに行列を入れ替えて値のみをペースト (例)Sheet1のアクティブセル(A2)の値がSheet2のA4セルにあるとすると、Sheet2のC4に行列を入れ替えて値のみペースト 3.Sheet1のアクティブセルの値がSheet2のA列に2つ以上あれば、「同じ日付が複数あります。」というメッセージを表示

専門家に質問してみよう