Excelで複数のSheetに同一セルにデータを配置する方法

このQ&Aのポイント
  • Excel2003の複数のSheetに同一セルにデータを配置する方法について教えてください。
  • 具体的には、Sheet1のA列に並んだデータをSheet2から複数のSheetの同一セルに配置したいです。
  • Sheet数は約230あり、同一セルにはそれぞれ異なるデータを配置したいです。
回答を見る
  • ベストアンサー

エクセルでいくつもSheetがあり、同一セルに、既存入力文字列を・・

はじめまして。どうか皆さん教えてください。 Excel2003で、「Sheet1」の A列に A1 あいおうえ A2 かきくけこ A3 さしすせそ ・   ・ ・   ・ ・   ・ と、文字列データが続きます。 それを 「Sheet2」から複数のSheetの 同一セル(B1) に配置したいのです。 具体的には、 「Sheet1」の「A1」、"あいうえお"を 「Sheet2」の「B1」にコピーペーストしたいのです。 Sheet数は約230Sheetあります。 コピーしたい元データは、 「Sheet1」のA列に並んでいます。 ただし、「A1」の同一データをコピペしたいのではなく、「A2」、「A3」、「A4」と それぞれ違う内容を、 Sheet2から複数のSheetの同一セルに それぞれ当て込んでいきたいのです。 説明不足であれば申し訳ありません。 なにかお問い合わせがあれば、すぐさま補足説明に勤めますので どなたかご助言ご回答お願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

Sheet1のA1:A3に あいおうえ かきくけこ さしすせそ とあるとします。 VBEの標準モジュールに Sub test02() Dim sh As Worksheet Set sh = Sheets(1) MsgBox sh.Name MsgBox Sheets.Count For i = 2 To Sheets.Count Sheets(i).Cells(1, "B") = sh.Cells(i - 1, "A") Next i End Sub を貼り付け実行します(F5キーを押すと実行)。 Msgboxの2行は確認のためで、省いても可。 結果 Sheet2のB1 あいおうえ Sheet3のB1 かきくけこ Sheet4のB1 さしすせそ ・・ となります。 VBAを出すわけは、関数は式複写がオートフィルでできるところが 重宝なわけですが、シートをまたぐと、その名前の一部とか インデックス値(VBAを習えば判ります)にとって式の番地を 変える機能がないためです。 INDIRECT関数というのがありますが、多分使えない見込み 。 シートのインデックス値が取れる関数があればSheet1の行番号を順々に指定できますが無いようです。

その他の回答 (3)

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.3

マクロを使っていいならば、とりあえずできます。 たとえば、 Sub copyToB1() Dim SheetNum As Integer Dim SheetIdx As Integer SheetNum = Val(InputBox("コピー先シート数")) For SheetIdx = 1 To SheetNum Sheets(SheetIdx + 1).Cells(1, 2).Value = Sheets(1).Cells(SheetIdx, 1).Value Next End Sub こんな感じではどうでしょう? うまくできますように。

akapen1974
質問者

補足

ご回答ありがとうございます。 今までマクロを使ったことは、教えていただいたことをそのままコピペして、利用したのみです。初心者ですが、できるまで粘りがんばりますので、もう少し ご助言ください。 まず、したいことの補足説明を申し上げると、 完成形は Sheet1  Sheet2  Sheet3 …Sheet230 A1あい  B1あい  B1かき  B1わをん A2かき ・ ・ A230わをん と、上記のようになります。 これをマクロで組むと最初からはどの手順で行えばよろしいでしょうか? 箸の持ち上げからお手数かけますが、 なにとぞご指導くださいませ。 よろしくおねがいいたします。

  • akipapa
  • ベストアンサー率38% (34/89)
回答No.2

Sheet1でコピーしたいセル範囲をまずコピーします。 次に、コピー先のSheet2以降を一度に選択(Sheet2を選択した後、Shiftキーを押したまま最後のシートを選択)します。 カーソルをB1に合わせて、貼り付けます。

  • oomono
  • ベストアンサー率46% (97/208)
回答No.1

完成すると下のようになると考えてよいのかな? Sheet1  Sheet2 Sheet3 … Sheet230 A1 あい B1 あい B1 あい B1 あい A2 かき B2 かき B2 かき B2 かき A3 さし B3 さし B3 さし B3 さし

akapen1974
質問者

補足

ご回答ありがとうございます。 補足説明を申し上げると、完成形は Sheet1  Sheet2  Sheet3 …Sheet230 A1あい  B1あい  B1かき  B1わをん A2かき ・ ・ A230わをん となります。 お世話かけます。なにとぞ よろしくおねがいいたします。

関連するQ&A

  • Excelでセル文字列に応じて他シートからコピペ

    Excelで、 シート1には「ある値の羅列」 シート2には「特定の値についての詳細説明が複数セルにわたって記載されている」 という構成になっているとき、 シート1のセル内の部分的な値と一致する、シート2の特定のセル (詳細説明の中で必要なセルのみ)をシート1の値の横のセルから右方向に コピーアンドペーストしたいと考えています。 具体的には シート1の、A列のセル内に以下のように「:」で区切った情報の羅列が数千行分 入力されています。     A                  B 1 商品名:リンゴ:渋谷店:在庫有り  (空白セル) 2 商品名:みかん:新宿店:在庫無し  (空白セル) 3 商品名:メロン:池袋店:在庫有り  (空白セル)    ・    ・ シート2には      A     B     C     D     E      1 イチゴ      赤   甘酸っぱい  春     高価   ・・・ 2 みかん      橙   甘酸っぱい  冬     安価   ・・・ 3 リンゴ      赤    甘い    冬     普通   ・・・ 4 メロン      緑    甘い    夏     高価   ・・・ 5 バナナ      黄色   甘い    ?     普通    ・    ・    ・ という風に、ある値に対する詳細説明が列方向に記載されています このとき、シート1のA1のある値(リンゴ、みかん 等)に対応した シート2の説明行のうち、ある一定の部分(D列より右がわ)を、 シート1のB列より右に一括でコピーアンドペーストできないでしょうか? 出来上がりの希望は以下の通りです。     A                  B      C   ・・・ 1 商品名:リンゴ:渋谷店:在庫有り     冬     普通  ・・・ 2 商品名:みかん:新宿店:在庫無し     冬     安価  ・・・ 3 商品名:メロン:池袋店:在庫有り     夏     高価  ・・・    ・    ・    ・ 従来ははいちいちシート1のA列の値をコピーし、シート2で検索、 該当する情報をドラッグしてコピー、シート1の戻ってB列にペースト、 という作業を行っていました。 しかし今回、シート1の内容が数千行もあるため、できればマクロや関数でなんとかできれば、 と思っています。 この作業の自動化に付き、ご存知の方、お教えいただきたくお願いいたします。

  • EXCEL セル内のデータを置き換えたい

    うまく説明できないのですが、 Sheet1のA列とB列に、1つのセルに複数のデータが以下のように入っています。(データの間に「,」があります。)     A列             B列 1行 6599A,6599B,6599C  6599A 2行 6599B,6599C      3行              6599A,6599C これは商品コードでして、Sheet2に明細があります。 A列    B列 りんご  6599A メロン   6599B みかん  6599B Sheet1のデータを、「りんご」「メロン」「みかん」に置き換えたいのです。 データの数が、たくさんあるので、コピー、ペーストでは対応できません。 よい方法をお教えください。よろしくお願いいたします。

  • Excel 開いているセルにペーストするには

    よろしくお願いします。 複数回コピぺをしたいのですが、一度目はコピーしたそれぞれのデータをそれぞれA1、B1、C1にペーストとvbaで指定すればそのセルから下方に向かってペーストされる様には出来たのですが、2回目以降に例えばA1358、B 1358、C 1358まで入力されているセルの一つ下の1359の位置からABC個々にペーストする様にするにはどの様にしたら良いのでしょうか? 散々ネットで探しているのですが、A1を指定して…などの関数の説明しか見つからずこちらに投稿しました。 ご教授下さい。

  • EXCELでシート名をセルの内容で指定出来るか

    検索してみましたが、探し方が悪いのか該当する質問がないようなので、質問させていただきます。 EXCELで複数のシートにあるデータを使用して集計表を作成するときの質問です。 使用する人がEXCELに慣れていない方のため、汎用性を持たせたいのですが、以下のような方法は出来るのでしょうか。 集計元シート(複数)> '1','2','3'…のように連番のシート名 集計先シート>'集計' 1.'集計'シートのセル A列 にシート名を入力します。 2.'集計'シートのセル B列 にそれぞれのシートの合計部分のセルNo(Ex.B11)を指定します こうしたとき、2.のB列 は [ B1 = '1'!B11 ]のようになりますが、この '1' の部分で '集計'シートの A1 の値を反映したいのです。 こうすると、シートが増えたとしても、上の式をコピーすれば(ドラッグでのコピー)式のシート名を変更する必要がないと思うのですが…。 ですが、思いつく方法を試してみてもどうもうまくはいきません。 本当にこういった方法は出来るのか、出来るのならその方法をご教授いただければありがたいです。 説明ベタで申し訳ありません。 これが出来るといろいろなものがうまくいくので、ぜひよろしくお願い致します。 (VBAはなるべく使わない方向でお願いします)

  • シート複写時、データの入力規則が別セルに複写される

    シートをコピーすると、データの入力規則が、違うセルにもコピーされてしまいます。 例えば、Sheet1のA列(A6からA20セルまで)に、データの入力規則として、「=JOB!$B$3:$B$1048576」という他のシートを参照してプルダウンリストを表示するようにしています。 このSheet1を、シートタブからシートのコピーをして、Sheet2に複写したとします。 すると、A列のデータの入力規則が、A列だけではなく、B列(B6からB20セルまで)も、データの入力規則「=JOB!$B$3:$B$1048576」になってしまいます。 B列は、従来どおりデータの入力規則がないようにしたいのですが、どうしたらいいでしょうか。

  • エクセルで複数セル内のデータを移動する方法

    個人情報で一人分がヨコに108セル(A1~DD1)、タテに450人くらいのデータがあります。(一人分は全てヨコ1列) A1 B1   C1    D1 No. 氏名  情報1  情報2 とういうふうに、ヨコに108セル分の個人データが並んでいます。 この内容を一人A4の紙1枚でまとめるための書式を同じシート内に作って、 データをそれぞれのセルから読み込んでくる様にしてます。その書式を パワーポイントに貼り付けて個人別の配布資料を作成してます。 (もっといいやり方があるとは思いますが、今回はコレでいきたいです) 一人目のデータをパワポにペーストしたら二人目のデータをコピーしたい わけですが、ヨコに108セルあるのでドラッグするのがかなり大変です。 そこで、A2~DD2まで108セルのデータを、A1~DD1にコピペ以外でもってきたいのです。 ヨコ1列を列ごとコピーして、「コピーした列の挿入」で見た目上は2列目が一番上にくるのですが、コレだとデータを読み込むようにした設定がズレてしまいます。(「=A1」が「=A2」とずれる)ので結局1番の人のデータのままになってしまいます。一人目の人を列ごと削除すると、「#REF!」となってしまいます。 どうしたら二人目を一番上に、(次は3人目を一番上)にできるでしょうか? 文章での説明のため、分かりにくくてすみません。

  • エクセル文字列でも0がでない。

    エクセルを使ってコピーペーストで、セルに入力しています。 文字列設定にしているのですが、手入力の場合は0が表示されるのですが、コピーペーストだと0がでません。頭に’を打てばそのよこにコピペで表示されるのです(これは検索でわかりました)が、これだととても不便です。他に何か良い方法はないでしょうか?どなたかお教え下さい。

  • 文字列を2つに分ける

    10個近くある異なるブックのシートを、新しい1つのブックにまとめてしまおうと考えています。 手動で1つのブック内の複数シートを選択して、新しいブックにコピーしようとしましたが、1つのセルに入力されている文字列の中に、かなり長い(255字以上)ものが含まれており、コピーした際にデータが捨てられてしまいます。 長い文字列を、事前にマクロで探して、2つのセルに分ける (たとえば、A1に長い文章があるなら、A2にセルを挿入して、文字列を2つにわける) ことは可能でしょうか? 分けたあとにそれぞれが255字以下になっていることも確認したいと思っています

  • ExcelVBAで文字列編集後別シートのセルにコピーしたいのですが

    Excel2000を使用しています。作業中のブックのSheet1の後ろに別のファイルをコピーすることができました。そこから(コピーできたファイル)から文字列を編集してSheet1の特定のセルに貼り付けたいのですが、未熟者でできません。以下の操作をVBAマクロで実行したいのですが解る方教えてください。 (1)コピーしたファイルのA4セルにある文字列をMID(A4,6,10)で取り出しSheet1のB21セルに貼り付ける。(日付) (2)(1)が日付なのでそれから曜日を取得し、Sheet1のE21に表示する。 (3)コピーしたファイルのA5セルにある文字列をMID(A5,8,1)で取り出し(一桁の数字)1の時は福岡、2の時は佐賀、3の時は長崎、4の時は熊本、5の時は大分、6の時は宮崎、7の時は鹿児島、8の時は沖縄とSheet1のB24セルに表示する。 (4)コピーしたファイルのA6セルにある文字列をMID(A6,8,2)で取り出し(二桁までの数字)その後ろに"本"をつけてSheet1のB24セルに表示するB28に表示する。例)12本 (5)コピーしたファイルのA2セルにある文字列をMIDB(A2,20,6)で取り出し(時刻)Sheet1のE30セルに表示させる。 (6)コピーしたファイルのA12セルにある文字列をMID(A12,11,5)で取り出し(時刻)Sheet1のE34セルに表示させる。 (7)(6)の15分前の時刻をE36セルに表示させる。 よろしくお願いいたします。

  • エクセル 列の挿入のアラート

    こんにちは、HARAPONです。 今回もどうぞよろしくお願いいたします。 私はエクセル2000を使っているのですが、友人から添付されてきたエクセルを開いて、列を挿入しようとした際にアラートがでてしまい、普通に挿入する事ができませんでした。 普通はAやBの列をクリックして挿入で列、でいいと思うのですが、同じ事をしようとすると 「データの消失を防ぐため、空白でないセルをワークシートの外にシフトすることはできません。はみ出てしまう右側または下側ののセルを~」という文章のアラートが出てきてしまいます。 これはどういう状態のシートに対して出るアラートなのでしょうか? 結局わからずに、新規シートにコピー&ペースト、挿入したい列分だけ空けてまた コピー&ペーストで騙しました・・・。 すみませんがよろしくお願いいたします。

専門家に質問してみよう