• ベストアンサー

エクセルでワンタッチで別のシートの行のある部分を表示したい。

例えば、Sheet1の1-Aに「あ」、1-Bに「い」、1-Cに「う」、2-Aに「え」、2-Bに「お」、2-Cに「か」という文字を記入しています。Sheet2の3-Dに「あ」、5-Fに「い」、6-Fに「う」と反映さす方法はわかるのですが、次にワンタッチでSheet2の3-Dに「え」、5-Fに「お」、6-Fに「か」に変える方法がわかりません。どこかにSheet1の行の1や2を入力するとそこの行の情報をSheet2の決まった場所に反映させたいのですが…よろしくお願いします。

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

  • ベストアンサー
  • subri
  • ベストアンサー率28% (16/56)
回答No.3

Sheet2のC1に、行番号を入力します。 D3の数式 =INDIRECT("Sheet1!A"&$C$3) F5の数式 =INDIRECT("Sheet1!B"&$C$3) F6の数式 =INDIRECT("Sheet1!C"&$C$3) こんな感じのことをしたかったのでしょうか。

ponpakun
質問者

補足

はい。こういった簡単な方法が知りたいのですが、この数式を入れても反映されないのですが…

その他の回答 (3)

  • subri
  • ベストアンサー率28% (16/56)
回答No.4

反映されない というのはセルには今何が表示されていますか? シート名はSheet1などで間違いはないですか? 行番号を入れるSheet2のD3、F5、F6の数字ですが、 そのセルの書式は文字列になってはいないでしょうか? もとより、書かれた例のセル位置にきちんと入っていますか? 例あげられたセル位置とは別のセル位置、別のシート名じゃないでしょうか? もう少し教えてくださいね。

回答No.2

> どこかにSheet1の行の1や2を入力するとそこの行の情報をSheet2の決まった場所に反映させたいのですが… マクロを作成してみましたのでご参考にしてください。 (シート1の行番号をダイアログから入力します。) Sub Macro1() Dim NyuRyoku As Variant Dim GyoBango As Long NyuRyoku = Application.InputBox("行番号を入力してください", , , , , , , 1) If NyuRyoku = False Then Exit Sub GyoBango = CLng(NyuRyoku) With Sheets("Sheet2") .Range("D3").Value = Sheets("Sheet1").Cells(GyoBango, 1).Value .Range("F5").Value = Sheets("Sheet1").Cells(GyoBango, 2).Value .Range("F6").Value = Sheets("Sheet1").Cells(GyoBango, 3).Value End With End Sub > ワンタッチで 上記のマクロをボタンに登録すると良いですね。

ponpakun
質問者

補足

マクロの操作方法がわからないのですが…さらに、簡単な方法はないでしょうか?

  • a987654
  • ベストアンサー率26% (112/415)
回答No.1

http://okweb.jp/kotaeru.php3?q=1449389 と同じだと思います。

関連するQ&A

  • エクセル VBA 特定文字がある行を別シートに移動

    C列にA,B,C,D,E(赤枠部分)の文字列が入力された表があります。 マクロ実行時下記のようにするには、VBAのコードをどのように記入すれば、よろしいでしょうか? AとBが入力されている行をシート2にコピー Cが入力されている行を切り取りしシート2に貼り付け(下の行は上方向にシフト) Dが入力されている行を切り取りしシート3に貼り付け(下の行は上方向にシフト) Eが入力されている行を切り取りしシート3に貼り付け(下の行は上方向にシフト) エクセルは2000及び2007です。 よろしくお願い致します。

  • エクセルの空白を詰めて別シートに表示

    sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの)  A列 |B列|C列・・・ 1行目A|100|100 2行目B|  |200 3行目C|100| 4行目D|  |200 5行目E|100| 6行目F|  |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A     B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。

  • 別シートから値のある行を検索し、別シートに転記

    シート1とシート2があり、 シート1のA7がシート2のB列にあり、シート1のB20がシート2のその行のD列の値と同じ場合、シート2該当行のF列の値をシート1のL20に書き込むのですが、どのようにマクロを記述すればいいでしょうか 例えば、 シート1のA7に「A社」、B20に「商品A」があり、 シート2のB10に「A社」が、D10に「商品A」がある場合、F10の値をシート1のL20に返す方法です。 シート2のB列には「B社」や「C社」もあるため、B列の中からシート1のA7と合致する行を検索することになります。

  • エクセルのシート1のある行をシート2に入力

    お世話になります。 エクセル2010を使っています。 たとえばシート1に、以下のような行があったとしましょう。     A       B       C    D 1(  1  )(2011/11/11)(にんじん)(100) ()はセルを表し、()内がセル内のデータです。 この行を、シート2に自動入力する方法を教えてください。 よろしくお願いします。

  • エクセルでSheet1の特定の列をSheet2に反映させたい

    エクセルの質問です。初心者です。 Sheet1ではA B C D E F列を使っています。 Sheet2にA B C列を反映させ、Sheet2の他の列にはSheet1とは別の情報を入れたいです。 変更するときはSheet1を変更するとして、Sheet1で行を増やしてもSheet2に勝手に反映する方法はありますか?

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • エクセルのマクロで別のSheetを印刷

    Sheet3にデータが次のようにあります   A   B    C 1 100   りんご  赤 2 150   ぶどう  紫 3 120   かき   青 Sheet2のA-1に数字を入れるとSheet3の行を以下のように 表示させるようにしています *1を入れた場合  A   B    C   D 1 1   100   りんご  赤 *2を入れた場合  A   B    C   D 1 1   150   ぶどう  紫 そのSheet2をSheet1に反映させ、Sheet1を印刷します ●以上のように設定している場合Sheet2でマクロを組んで、1だけ入れた場合の印刷、1から3までを入れた場合の印刷(3種類が印刷れる)などを指定できる方法はないでしょうか? どなたか、よろしくお願いします。    

  • エクセルで指定行を別シートに表示させる

    エクセルで書類(A4)を自動作成させたいと考えています。 今までは原紙となるシートを用意しておき、コピーして利用していましたが、シートを分けてしまうと検索が面倒なのでやり方を変更しようと考えています。 希望する形態は、 ・データを入力するためのシートを用意し、1行にすべての表示内容を入力する。 ・出力用の原紙となるシートに、内容を出力する場所を指定しておく。 ・表示させる行を指定すると、内容が反映され、印刷などができる。 といったものです。 しかし、どの行のデータを出力するかを指定する方法がわかりません。 ご教授いただきますよう、お願いいたします。

  • 別シートの行を選択し対象列を転記するマクロ

    シート2のA~F列までデータがあります。 行数は10,000行です。(月ごとに100行くらい追加されます。) A列は項目がNO.で半角数字が連番で入力されてます。 セルA2→1 セルA3→2 セルA4→3 . . . セルA10000→9999 セルA10001→10000 という感じです。 シート1の セルI9に番号を入力すると シート2のその番号の行のB~F列の値を シート1のJ9~N9列に転記したいです。 例えば シート1のセルI9に100と入力したら、 シート2のA列が100と入力されているセルはA101ですから 101行目となります。101行目の各列の値を転記します。 ↓ シート1のセルJ9にシート2のセルB101の値を転記 シート1のセルK9にシート2のセルC101の値を転記 シート1のセルL9にシート2のセルD101の値を転記 シート1のセルM9にシート2のセルE101の値を転記 シート1のセルN9にシート2のセルF101の値を転記 シート1もシート2もセルの書式設定は標準。 B,E,F列は半角英数字の組み合わせで C,D列は半角数字のみです。 たまにF列に空白がある行があります。 B,F列は数字のみの場合もあります。 B,C,D,F列は数字のみの場合 「数値が文字列として入力されています」 となっています。 マクロで行いたいのですが記述そのものを教えてください。

専門家に質問してみよう