• ベストアンサー

エクセル 別シート参照の簡単入力方法

エクセル2003にて、1ブックに100シートあります。 それぞれのシートで(F1~F80)、前のシートのセル(C1~C80)を参照したいのですが、簡単な入力方法を教えて下さい。 例 Sheet2F列は、Sheet1のC列を参照 Sheet2のF1に  =sheet1!C1 …………… Sheet100のF1に  =Sheet99!C1 現状ではSheet2のF1セルでShiftキーを押しながら=を押し、sheet1のC1をクリックこの作業を99回繰り返しその後で全てのシートを選択しC1からC80コピーをしています。 なにか良い方法はないでしょうか??? お答えよろしくお願いします。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.4

横から失礼します。 >マクロ実行で”数式を記入する”様なもの シート名に関わらず動作するようにしただけで、 #1さんのとほとんど一緒ですが…。 動作の概要  2番目から100番目のシートの  (2行目)  1行目から80行目までの     (3行目)  F列のセルに            (4行目の6の部分)  そのシートの前のシートの、同じ行の  C列のセルを            (5行目のCの部分)  参照する数式をを入れる Sub Sample0710190()  For i = 2 To 100   For j = 1 To 80    Worksheets(i).Cells(j, 6).Formula = _     "=" & Worksheets(i).Previous.Name & "!C" & j   Next  Next End Sub

prtcw794
質問者

お礼

ありがとうございます。 お礼が遅くなってすみません。こういう形式の物が知りたかったので完璧です!!!! さっそく仕事で活用させてもらいます。ありがとうございました。

その他の回答 (4)

noname#52504
noname#52504
回答No.5

#4です。 #4で提示したコードについて、 シート名にスペースが含まれている場合は正常に動作しません。 検証不足、というより初歩的なミスで申し訳ありません。 お手数ですが下記のようにコードを修正してください。 (5行目にシングルクォート'を2ヶ所追加) Sub Sample0710190()  For i = 2 To 100   For j = 1 To 80    Worksheets(i).Cells(j, 6).Formula = _     "='" & Worksheets(i).Previous.Name & "'!C" & j   Next  Next End Sub

noname#64582
noname#64582
回答No.3

#1です。 ひとつ疑問が浮かんだのですが、「この作業を99回繰り返しその後で全てのシートを選択しC1からC80コピー」をしたことで、既に各シートの F列には、「=Sheet○!C●」って式が入ってませんか。 それなら、C列に入力した時点で、次シートのF列に反映してませんかね? ************************************************************* それはさておき、 >マクロ実行で”数式を記入する”様なもの ですが、シート名を機械的に振れば何とかなるかと思います。 例えば、1枚目のシートを「1」、2枚目を「2」・・・100枚目のシートを「100」という名前にしてみます。 まさかシート名変更を100回やるわけにいきませんから、まずは以下のコードで。 ◆◆◆注意◆◆◆ 実行後は元に戻せないので、必ずバックアップを取った上でお試しください。 Sub name() Dim i As Integer For i = 1 To 100 Sheets(i).name = i Next End Sub これでシート名が、「1」~100」と振られたと思います。 そのうえで、次のコード。 Sub Sono2() Dim m As Integer, n As Integer For m = 2 To 100 For n = 1 To 80 Sheets(m).Cells(n, 6).Formula = "=" & (m - 1) & "!c" & n Next Next End Sub そうしたら、各シートのF列には、前シートのC列のセルが数式で入っているかと思います。 シート名が何か別のもの(例えば、機械的に処理できないもので、ここを変更できないと言うならば私はやり方がわかりません。 どなたか詳しい方の回答を待つか、別の質問を立てることをお勧めします。

prtcw794
質問者

お礼

何度もありがとうございます。 なんとか解決しましたので質問を締め切らしてもらいます。 非常に勉強になりました。本当にありがとうございました。

noname#64582
noname#64582
回答No.2

#1の者です。 さっき書き忘れたので、念のため追加します。 ご存知でなければご一読ください。 さきほどのコードの使い方 ・エクセルの上で、Alt + F11 ・Visual Basic の画面が出てくる ・Alt + I (挿入) → M(標準モジュール) ・Module1 という真っ白な画面が出てくる ・そこに先ほどの、Sub ~ End Sub までコピペ ・エクセル画面に戻り、Alt + F8 ・Tabを押して 、Shori を選び、Enter これで実行されます。 ちなみに次回以降は、 ・エクセル画面で、Alt + F8 ・Tabを押して、Shoriを選び 、Enter だけで大丈夫です。 (次回以降はこのファイルを開く時に、マクロ有効で開ける) 結構時間と労力が節約できると思います。 ◆◆◆注意◆◆◆ 実行後は元に戻せないので、必ずバックアップを取った上でお試しください。

noname#64582
noname#64582
回答No.1

マクロを使う方法しか思いつきませんでした。 あまり詳しくないのですが、以下ではどうでしょう。 Sub Shori() Dim p As Integer, q As Integer For p = 2 To 100 For q = 1 To 80 Worksheets(p).Cells(q, 6) = Worksheets(p - 1).Cells(q, 3) Next Next End Sub

prtcw794
質問者

お礼

回答ありがとうございます。 さっそく試してみたところ機能しました。 そこで、申し訳ないのですが追加で質問よろしいでしょうか??? 参照先のC列は刻々と入力を行なってます。リアルタイムで次のシートのF列に反映してほしいのです。 今回、教えてもらったマクロでは実行するたびに、希望にかなった形になるのですが入力の度にマクロ実行しなければなりません。 できればマクロ実行で”数式を記入する”様なものがあればよいと思うのですが…

関連するQ&A

  • Excel 別シートのセル参照

    Excel で、二つのシート間でセル参照したいのですが、シートに書き込んでおくコマンドの書き方を教えてください。 (操作) Sheet2 でA列のどこかのセルをダブルクリックしたとき、B列およびC列の該当行の値を、Sheet1 の二つの固定セルにそれぞれ表示させる。 よろしくお願いします。

  • エクセルのセルを参照して別シートに張り付ける

    こんにちは。 エクセルのsheet1とsheet2があり、sheet1のセルに入力されている文字や数値をsheet2にコピーしたいと思っています。ただし、コピー先のsheet2のセルの値は、sheet1を参照するだけでなく文字や数値として表示できないかと悩んでいます。 図で説明すると  (sheet1)                →           (sheet2)   A    B    C     D           A     B    C     D 1あああ  10  いいい  えおう        1いいい  えおう  10    あああ 2あああ  10  いいい  かけこ       2いいい  かけこ  10    あああ 3あああ  10  いいい  みまつ       3いいい  みまつ  10    あああ  4あああ  10  いいい  さぐも        4いいい   さぐも   10    あああ また、上記のようにsheet1とsheet2の列は同じ場所ではありません。 このような作業を1回で行うことはできるのでしょうか? よろしくお願いします。

  • Excelで別sheetの参照について

    エクセルで別sheetの参照についての質問です。 画像のようにsheet1の値を参照してsheet2表示させたいのですが、これを約100件分作成したいのですがコピー&ペーストをすると参照セルがずれてしまいます。 sheet2のA1をコピーしてA4に張り付け=Sheet1!A2&Sheet1!B2&Sheet1!C2としたいのですが、A4に張り付けを行うと=Sheet1!A4&Sheet1!B4&Sheet1!C4となってしまいます。 複数行あけてペーストする場合に参照セルを1行ずつずらして参照する方法はありますでしょうか?

  • EXCEL 異なるシート間の参照

    EXCELに関しての質問です。 超初心者で基本がわからないままの質問ですみません。 同じブック内の複数のシート(様式は異なります)間の作業です。 片方のシートの日毎のデータを別のシートの日毎のセル に参照し、反映させたい。 INDIRECT関数を用いて、=INDIECT(A3&"!V3")のようにして A3に表示される文字列のシートのセル番地V3を参照し、 他のシートにそのデータを表示したいのですが、 うまくいきません。 A3セルには一ヶ月の日付が入っているので、 日付の入った他のシートを日付ごとに参照していくのですが、 そのシートの中のいつも同じセルV3しか 参照してくれないのです。 このV列のセルも自動的に日付に沿ったセル参照に変更するのは どうしたよろしいでしょうか。 よろしくお願いします。

  • 別シートの参照値を反映したい

    別シートの参照値を反映したい book内にSheet1~4まであります。 Sheet1のA1には、Sheet2~4という文字列が入ります。 Sheet1のB1には、Sheet2~4のセルの番地のみ入力されています。 Sheet1のA5に「="="&A1&"!B1"」と入力した際に文字列ではなく参照先の数字が反映される ようにしたいのですが、可能でしょうか? ちなみにコピーして値のみ貼り付け、F2を押せば数字が反映されるのですが、関数を残して おきたいと考えています。 ご教示お願いいたします。

  • Excel 同ブックの他シートを参照するセルを、他ブックのセルにコピー

    こんにちは。Excelの使い方について質問させていただきます。 よろしくお願いします。 Excel2003を使っています。 シート数、シート名がまったく同じブックが2つあります。 AブックのAシートのA1セルを参照しているセルである AブックのBシートのA1セルをコピーします。 BブックのBシートのA1セルにペーストします。 BブックのAシートのA1セルを参照して欲しいのですが、 別ブックであるAブックのAシートのA1セルを参照するように 自動的に変換されてしまいます。 シンプルにそのままコピーすることは不可能でしょうか。 セルのコピーでは無く、中の文字列を選択してコピーしても、 何が起こっているのかよくわかりませんが上手くいきません。 Excel初心者です。マクロはまったく使えません。 親切な方、どうぞよろしくお願いします。

  • エクセルで、2つのセル値(2つの条件)から、別シートの表から該当する値を参照する方法

    シート(1)のA列とB列のセルに入力されている値を元に、 シート(2)の表を参照し、該当する値をシート(1)のC列に 表示させる方法があれば 教えて頂けると助かります。 なおシート(1)のA列は、参照するシート(2)の表の列タイトルに対応し、 シート(1)のB列は、シート(2)の行タイトルに対応するマトリックス表に なっております。 また、この列行タイトルの表記は「1から」または「1から9まで」 という範囲での表示になっています。 (例:シート(1)元データ) No| A列 | B列 | C列 | --------------------------------- 1 | 07  |  22  |  20 | ←C列は、シート(2)表を参照  2 | 18  |  15  |  30 |        3 | 01  |  09  |  05 |       4 | 21  |  03  |  30 |  5 | 30  |  28  |  35 |  (例:シート(2)参照する表) A列\B列 | 1~9| 10~19 | 20~29 | -----------------------------------   01~  | 05  |  10  |  20  |         05~  | 15  |  15  |  20  |           10~  | 20  |  25  |  30  |        15~  | 25  |  30  |  30  |    20~  | 30  |  35  |  35  |  現在、手作業でC列への入力を行っております。 何とか、作業効率を上げたいと思っておりますので、 ご指導下さいます様 宜しくお願い致します。

  • 別のシートを参照したくても、参照できない

    エクセル2002を使っています。  Sheet1のB1セルに、同ブック内の「あいうえお」というSheetのA1セルをリンク・・というか、参照をしています(あいうえお!A1)と。  そして、同ブック内に かきくけこ さしすせそ たちつてと・・・と、後9シート作る予定だったので、前もってSheet1に同じく かきくけこ!A2 さしすせそ!A3 たちつてと!A4 と入力していました。  そして、シートを新たにい9つ作り、シート名を かきくけこ さしすせそ・・・ にしたのですが、みな#REF! のままなのです。  どうやったら、参照がうまく出来るようになるのでしょうか?  もうすでにシートも作り、参照もしてあるので、一から打ち直すのは面倒です。  何か対策は無いでしょうか?  

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

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

  • エクセル別シートの参照方法について

    タイトルのあります通り エクセルにおいて別シートのデータを参照する際についての質問です 計算式(足し算のみ)の入っているsheet2のA1~C1を結合したセルデータを sheet1のD2~F2を結合したセルへ持ってきたいのですが ='sheet2'!A1:C1 とsheet1の該当セルへ入力しても「#VALUE!」と表示されてしまいます エクセル初心者のためどこが間違えているのかが分かりません ='sheet2'!A1:C1 というのは自分で入力したわけではなく sheet2の該当セルを選択しただけです 試しに新しいエクセルシートを二枚作り 同じ条件で入力してみるときちんと数値が反映されますが この場合sheet2の該当セルを選択するとsheet1には =sheet2!A1 という風に表示されます 自分ではこの違いしか見つけられません どなたか詳しい方教えていただけないでしょうか?? 初歩的な質問ですみません・・・ よろしくお願いいたします

専門家に質問してみよう