エクセル:指定した別シートのセルに入力する方法

このQ&Aのポイント
  • エクセル2000を使用しています。sheet1のセルに数字を入力し、指定したシートの指定したセルに文字を反映させる方法を教えてください。
  • 入力したセルは何度も入力しなおすことができます。また、入力は数値のみです。対象のシートは30シート程あります。
  • VBまたは関数のどちらでも分かる方、回答お願いします。
回答を見る
  • ベストアンサー

エクセル:指定した別シートのセルに入力する方法

エクセル2000 を使用しています。 sheet1 のセルに数字を入力して ・sheet2、sheet3、・・・ の指定したシートの指定したセルに文字を反映させる方法はありますでしょうか? 例)sheet1 A3 に"100"と入力すると、('sheet2'の'B2'を指定)   sheet2のB2に"100"と反映   同様に sheet1 A3 に"300"と入力すると、('sheet3'の'C5'を指定)   sheet3のC5に"300"と反映 ※作業しやすい為に入力セルを一つのみにするというのは難しいでしょうか? 条件 ・一度指定して入力したセルは何度も入力しなおします。 ・入力は数値のみです。 ・入力の対象シートは30シート程あります。 対象となるセル全てに関数をいれてみて・・とやってみたのですが、たどり着きませんでした。 分かる方どなたか教えていただけますでしょうか? 質問文が下手ですいません、回答していただけたら補足で再度質問しなおしたいと思います。。 VB、関数どちらでも分かる方お願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>セルはセル番地ではなくて、文字等で場所を指定するように >関数を使いたいと思うんですが、 >A2のセルは関数が入っているものでも大丈夫でしょうか? どうとでもできます。 たとえば。 B2やC2に所定の「文字等」を記入し、A2にそれらの文字等から該当する「セル番地」を計算する数式を組んでも出来ます。 あなたの「文字等」を具体的にどこから探したらいいのか情報がないので、次のように作成してください。 A1にシート名を記入する A1シートのA列に「縦項目の言葉」が列記されている A1シートの1行目に「横項目の言葉」が列記されている 縦の言葉をB2に、横の言葉をC2に記入する A2には =IF(OR(B2="",C2=""),"",ADDRESS(MATCH(B2,INDIRECT(A1&"!A:A"),0),MATCH(C2,INDIRECT(A1&"!1:1"),0))) とする たとえば。 マクロを工夫して、B2やC2に記入された文字等から該当するセルをマクロに探させても出来ます。 ロジックは上述A2の数式と全く同じです。

hiyokoou
質問者

お礼

ご回答ありがとうございます。。) >A2のセルは関数が入っているものでも・・・ の関数ですが、自分で作成できそうでしたので、今回内容は記入しなかったのですが。 >A1シートのA列に「縦項目の言葉」が列記されている A>1シートの1行目に「横項目の言葉」が列記されている まさにその通りの関数を作成しようと思っていました。。 ここまで当てられると・・・すごいと感じてしまいます。 ありがとうございます。マクロで探させられるようにというのも・・ 参考にさせて頂きます。 ありがとうございます。。)

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>sheet1 A3 に"100"と入力すると、('sheet2'の'B2'を指定) 指定するってのは,つまりエクセルに判るようにデータとして記入するなどをするってことです。 シートをめくっていった方が簡単だとは思いますが。 実施例: A1セルに Sheet2 と記入することにする A2セルに B2 と記入することにする A3セルに数値を記入することにする 作業: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range)  if target.address <> "$A$3" then exit sub  if target = "" then exit sub  if range("A1") = "" then  msgbox "INPUT SHEET NAME IN A1"  exit sub  end if  if range("A2") = "" then  msgbox "INPUT CELL ADRES IN A2"  exit sub  end if  on error goto errhandle  worksheets(range("A1").value).range(range("A2").value).value = range("A3").value  exit sub errhandle:  msgbox "NOT FOUND" end sub

hiyokoou
質問者

お礼

回答ありがとうございます!! 確かにシートとセルを指定する手間があったら直接辿った方が早そうですよねf^^; 上記式を使った際の補足を伺ってもいいでしょうか? 質問させて頂いたエクセルの指定される側のsheet2以降のシートは 列と行に文字等記入があるのですが、 セルはセル番地ではなくて、文字等で場所を指定するように 関数を使いたいと思うんですが、 A2のセルは関数が入っているものでも大丈夫でしょうか?

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

シート1のA3のデータを例えばシート2のB3セルに表示させるためにはシート2のB3セルに =Sheet1!A3 といった式を入力させることが必要です。別のセルやシートに表示させるためには該当するシートの表示したいセルに上のような式を入力する以外に方法はありません。

hiyokoou
質問者

お礼

ありがとうございます。 しかし、それでは対象が30シートに及ぶため  sheet1の入力するセルを選ぶよりも、直接sheetのセルを選択する方が早くなってしまうのです。 他の方の質問も見ましたが、複数シートを選択範囲にするVBがみつかりませんでした。 また解決策ありましたら回答お願いしますm(。。)m

関連するQ&A

  • エクセルで入力した物を指定した別のシートのセルに反映したい

    以前↓で質問した者です。 http://okwave.jp/qa4771245.html 回答を頂いたのですが、質問に言葉が足りずに申し訳ございません。 やりたい事は例えば、 Sheet1のセルA1に「1333」と入力、セルB1に「交換」と入力したらSheet1333のセルC1に「交換」と反映。 Sheet1のセルA2に「1233」と入力、セルB2に「補修」と入力したらSheet1233のセルC1に「補修」と反映。 その後は Sheet1のセルA3に「1333」と入力、セルB3に「故障」と入力したらSheet1333のセルC2に「故障」と反映。みたいに同じSheetに反映させると以前に反映したデータの下のセル(もしくは横)にどんどん反映していける方法はあるのでしょうか? わかりにくい説明かもしれませんが、どうかお願いします。

  • エクセルで参照する別シート名をセルに入力したい

    エクセルで参照する別シート名をセルに入力したいです。 (1) sheet2とsheet3にそれぞれA1:B10の表があります。    A列には氏名がB列には数値が入力してあります。    (同じ表で月度が違います。) (2) vlookup関数を使ってsheet1のA列に氏名を入力して対応する数値を    B列に求めたいです。 (3) この時、sheet1のC1に「sheet2」「sheet3」と入力することで    参照するシートを変えたいのですが、方法が解りません。 そもそも可能かどうかも解らず、悩んでいます。 ご教授お願いいたします。   

  • エクセルでセルに入力した数字を指定したSheetの指定したセルに反映できますか

    http://okwave.jp/qa4814381.html で質問したものです。 例として「Sheet1」のセルA1に「1111」と入力しB1に「故障」、C1に「日時」を、D1に「担当者名」を入力すると、Sheet名「1111」のB18に「故障」C18に「日時」D18に「担当者名」が反映。 その後は入力していけば、B、C、Dの19~と下に反映していく方法を教えてください。 反映させるセルは「B18」を始まりとして、そのセルに内容、「C18」に日時「D18」に担当者の名前を始まりとしたいです。

  • エクセル指定日付の数値を別シートに反映させる方法

    先ほど別の質問を立てましたが、わかりにくかったので、再度掲載させていただきます。 数式をつくっておいて、ある箇所にデータを貼り付けたら、別シートに指定した期間の 数値が反映できるような数式を作りたいと考えています。 A1に「10/1」  (スタート) B1に「11/2」  (エンド) と入力がしてあり、 F12~120に10/1からランダムに10月の日付 G12~120に11/1からランダムに11月の日付 N12~120に数値が入っています。 A12~120には=「F12~120」という数式を B12~120には=「G12~120」という数式を C12~120には=「N12~120」という数式を いれて、反映をさせています。 普段触るところはF12~120・G12~120・N12~120の3つで データを毎回貼り付けています。 A1・B1に入れている数値と一致をしていれば色が変わるように書式設定をしています。 この2~120の中で対象となる色の変わる場所の数値部分(C12~120)の合計の数値を 別のシート「集計」のD1に反映をさせたいです。 そのようなことはできますでしょうか。 説明が下手で申し訳ありませんが どなたかご回答をよろしくお願いいたします。

  • エクセル2007、セルの位置を指定したい

    エクセルについて質問があります。 入力された数値により、セルの位置を指定するようなことは、関数でできますか。たとえば、A1に「1」と入力したとき、A15には「1」、A1に「2」と入力したとき、A16に「2」が、A1に「3」と入力したとき、A17に「3」・・・というように、セルの座標を指定して、反映されるようにしたいのですが。

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

  • エクセルで別シートの値を取得したいです。

    エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。

  • 指定したキーを元に付属の値を表示する方法

    Excel2010の関数で教えてください。 シート1に月単位の様々な数値が入っています。 シート2に月を指定するセルを作って、そのセルと 同様のシート1の数値を持ってくることが出来る関数はありますか? 説明が悪いので、簡単に図を作成します。 シート1 【ベースのデータをあらかじめ作成します】   201404 201405 201406 A  100   200    300 B  50    60     70 C   1    2      3 シート2 年月 201404 【→201404を手入力するとシート1の201404に入っているABC値を持ってくる】 ↓ A 100【ここに関数を入れたい】 B 50【ここに関数を入れたい】 C 1【ここに関数を入れたい】 vlookup関数でやろうと思ったら、指定の仕方が悪いのか、うまくいきませんでした。 説明が下手で申し訳ありませんが、ご存じの方がいらっしゃいましたら、 是非お知恵をお貸しください。 宜しくお願い致します。

  • エクセル下三桁の検索方法教えて下さい

    初めて質問させていただきます。 Sheet1 A1 に検索したい数字(3桁)入力します Sheet2 の B1 - B123 までに検索したい対象の数字(アルファベット含、10桁以上)の数値があります。 A1に数値を入力し 他のセルにB1-B123の下三桁と一致するセルを出したいのですが、 たどり着けませんでした。 分かる方、教えて下さい。 できればVBではなく、関数の方法お願いします。

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

専門家に質問してみよう