特定のセルの数値の行数をコピーしたい

このQ&Aのポイント
  • Excel2002で、特定のセルに表示されている数値の行数だけをコピーする方法を教えてください。
  • コピー元シートの J53 セルに表示されている数値を取得し、それに対応する行数のデータを A1 から G13 の範囲でコピーします。
  • コピーしたデータは、コピー先シートの A8 から G20 の範囲に貼り付けることが求められています。
回答を見る
  • ベストアンサー

特定のセルの数値の行数だけコピーしたい

お世話になります。 Excel2002で次のことをやろうとしています。 特定のセルに表示されている数値の行数だけコピーする。 これを、マクロを使って実行したいのですが、その方法が思いつきません。 どのようにしたら良いかお教えください。 [コピー元]のシートの"J53"のセルに、例えば「13」が表示されています。 この「13」がコピーする行数です。 このシートには多くのデータが入っていますが、そのうちの"A1"~"G13"だけのセルをコピーし、[コピー先]のシートの"A8"~"G20"に貼り付けるものです。 コピーする行数を表示しているセル"J53"は、常にこの位置です。 コピーするデータの列は常に"A"~"G"で、変わることはありません。 コピーするデータの行は、始まりは常に"1"からで、最後は"J53"に表示されている数値の行です。 コピーする行数を示す"J53"に表示される数値は「1」~「52」の範囲内です。 コピー先の位置は、[コピー先]のシートの"A8"~で、変わることはありません。 類似の質問を探したり、他にもネット上で探したのですが見つかりませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8525/19377)
回答No.1

Sheets("コピー元").Select Range("A1:G" & Range("J53").Value).Select Selection.Copy Sheets("コピー先").Select Range("A8").Select ActiveSheet.Paste

dos_2000
質問者

お礼

目的通りのことができました。 ありがとうございました。

関連するQ&A

  • エクセル(2003)のコピーと貼り付けについて。

    エクセル(2003)のコピーと貼り付けについて、操作を自動化したいです。 VBA初心者です。 同じフォルダ内にAファイルとBファイルがあります。 Aファイルにはシート1からシート4まで有り、シート1とシート2にシート3と4を比較したデータを表示させています。 シート1とシート2はA1からG1まで項目として、A2からデータが表示されます。約20行程度、表示される行数は毎日変わります。 Bファイルにはシート1しかありません。A1からG1まで項目とし、A2からデータが表示されています。約100行。毎日変わります。 (Aファイルのシート1とシート2の表示されているデータを貼り付けていく為) Aファイルのシート1に表示されているデータ(A2から)を仮に20行としBファイルの101行目(入力されているデータのすぐしたの行)に貼り付け、Aファイルのシート2に表示されているデータ(A2から)を仮に20行とし、120行目に貼り付け。 毎日コピーする範囲や貼り付けをするセルが変わっていく、固定の範囲、セルではない。この作業を毎日、コピー貼り付けで操作しています。 この操作をラクにしたいです。 困っていることは、コピーする範囲が毎日変わってしまう。(行数が増減するため) 貼り付けるセルも変わってしまう、(行数が増減するため) 分かりずらい説明になっていましたら、申し訳ないです。 よろしくお願いします。

  • エクセルで行数の異なる2つの列の数値を新しい列にコピーする方法

    はじめまして。 エクセルで質問があります。 A列に数値データ、B列に0 or 1のデータがあります。 Sum(B:B)=A列の行数です。 このデータを、C列に1のときはA列のデータを1行下にコピー、0のときは""にしたいと考えております。 結果C列はB列を同じ行数 if文でC1セルに =if(B1=1,A1,"") と打つと、B列に0が入った途端、A列の数値が進みすぎてしまいます。 B列=0のときA列を進まなくする方法はあるのでしょうか? たとえばB1=1, B2=0, B3=1のとき、C3にはA2の数値を入れたいのですが、A3になってしまいます。 よろしくお願いいたします。

  • VBAで特定の条件だったらセル番地を記載

    VBAでセルの値を見て、特定の条件だったらそのセル番地を記載したい。 以下のようになっているデータがあります。 0 0 0 0 35351←●1ブロック目の始まりのセル 319241 2412 421414 351315←●1ブロック目の終わりのセル 0 0 0 0 0 43624←■2ブロック目の始まりのセル 3252 53252 452←■2ブロック目の終わりのセル 0 0 0 0が入っている行が数行あった後、数値が入っている行が数行続き、また0が入っている行、0より大きい数値が入っている行、と繰り返されているデータがあります。 0が入っている行数、0より大きい数値が入っている行数は固定ではありません。 0より大きい数値が入っている数行のデータを1ブロックとします。 1つのシートでのブロック数も固定ではありません。 データ行は4098行までで固定です。 このようなデータの1ブロックごとの始まりのセル番地と終わりのセル番地を出し、シートに記載したいです。 考えたのは2行ずつセルの値を見て、0と0より大きい数値の並びになっていればブロック始まりのセル番地として記載し、より大きい数値と0という並びになっていればブロック終わりのセル番地として記載するという方法です。 もっと単純な処理で済むようなものがあれば教えていただきたいです。

  • 【VBA】特定の条件でセルをコピー

    VBA初心者です 特定の条件を満たすセルの隣接する指定のセルをコピーして別のシートへ貼付けたいです 【sheet1】 A   B   C   ~   F  G 1   2   あ   ~   3  あり 2   1   い   ~   7  なし 3   2   う   ~   4  あり 5   3   え   ~   6  あり 6   2   お   ~   5  なし 7   1   か   ~   3  あり 8   3   き   ~   7  なし 9   2   く    ~  8  なし といったデータのうち、G列が「あり」の行の C~Fの値を別のシートへ以下のように貼り付けたいです 【sheet2】 A   ~   D  E あ   ~   3  _ う   ~   4  _ え   ~   6  _ か   ~   3  _ 全くの初心者です よろしくお願いします

  • エクセルのセル内の数値を変えたい

    他部署からコピーしたシート内のセルに00001234という数値があります。この数値から0000を取り1234という数値にしたいのです。列に100行くらいありますので、行を一括で行いたいのです。方法を教えていただきたいのですが、よろしくお願いいたします。

  • エクセルで、結合したセルへのコピーに困っております。どうかお助けください。

    過去のログを調べてみたのですが、わかりません。どうか教えてください。 エクセル2000を使っています。今 sheet1にある名簿のデータをsheet2の表にコピーしたいのですが、sheet2の表は、3つの行を1つに結合しております。すなわちsheet1のA1、A2、A3、A4、A5、A6.....にあるデータをsheet2のA1、A2、A3を一つにしたセルにコピーしますと、セルが結合が解除されてコピーされてしまいます。 また、sheet2のA1、A2、A3を一つにしたセルのところで、「=sheet1!A1」と数式を入力しますと、そのセルはうまくデータが入力(コピー?)されるのですが、そのセルをそのままドラッグしますと、2番目のセル(sheet2のA4、A5、A6をひとつにしたもの)には、sheet1のA4が入力されてしまいます。sheet2の結合されたセルにsheet1の未結合のセルのデータを簡単に入力またはコピーする方法はないでしょうか。どうかよろしくお願いします。

  • オートフィル?規則性あるデータのコピー方法について

    以下の事を行いたいです。 データシートとグラフシートの2つがあります。 データシートには縦にデータ(数値)が入力してあります。 この中のデータ(等間隔に位置する値)をグラフシートに横に連続して並べたい。と考えます。 データシートの入力値をグラフシートに以下の様に表示させたいのです。 グラフシートのA1セル、B2セル、C1セル、D1セル、…に =データ!A9  =データ!A12  =データ!A15  =データ!A18  ・・・ のような規則で連続したコピーを行おうとして、 オートフィルでコピーを行ったのですが、残念ながら同じA列でコピーはされず、違う列で同じ行(9、12、15、18と連続した)のデータをコピーされてしまいます。 解決策があれば、宜しくお願いします。

  • Excel でセルの数値が表示されたりされなかったりするのは?

    Excelで現金出納帳を作成しました。 収入金額(F7)と支払い金額(H7)が'0'の時は 差引残高(J7)が空白になるように差引残高のセルに =IF(OR(COUNT(F7:H7)=0)," ",SUM(J6+F7-H7)) と数式を入れ下のセルへコピーし、順調に計算されていました。 しかしある行から支払い金額が'0'でないにもかかわらず 差引残高が急に表示されなくなりました。 不思議なことに非表示の行が特定の行ではなく 支払い金額や前行の差引残高の金額によって 表示されたりされなかったりするのです。 計算はされているようで、差引残高のセルを複数範囲指定すると 青い範囲指定の中に白地で数値が浮かびます。 18年4月から同じシートを使って順調に出納を行ってきたのに シートのコピーをして2シート19年度を作り、 片方は今でも順調に出納できています。 もう片方が何度同じ場所を元のシートからコピーしたりしても 同じ現象になります。 ちなみに最初の行の繰越残高は'12134'です。 試しに元のシート(18年度分)の最初の繰越残高をこの数値にしても空白の残高ができてしまいます。 どうもこの数値(前後の数値でも)から始めると空白になるのです・・・ 残高がマイナスになっても表示される時はされますし、 空白になる場合の規則性が見出せず困っています。 わかりにくい事象説明で申し訳ありませんが、 よろしくご指導のほど、お願いいたします。

  • 数値を一つずつ別々のセルに分けるには?

    最大6桁の数値Aを、一つずつに分けて別々のセルB~Gに分けたい。 さらに右詰めにして桁数が少ない場合は0を埋めたい。 どうぞご指導よろしくお願いします。 サンプル例   A B C D E F G 123,450 1 2 3 4 5 0 12,345 0 1 2 3 4 5 987,654 9 8 7 6 5 4 100,000 1 0 0 0 0 0 52 0 0 0 0 5 2 2 0 0 0 0 0 2 ↑ ↑ 入力位置 表示位置

  • セルのコピーが遅い

    パソコンに詳しくなくてすみません。エクセルファイルを開いてセルをコピーすると、非常に時間が掛かるのです。 マクロは使ってません。シートの数は2シートだけです。 1行20セル(内 計算式が 入っているのは 5セル)を次の行にコピーするのに 約40秒掛かります。 このシートの行数は200行にもありません。他のエクセルファイルを2-3試してみましたが他のファイルは素早くコピーできます。 自動計算はしていましたが(たいていの人は自動計算にしていると思いますが)手計算に変更しましたが状況は変わりません。 「戻る」の矢印をクリックすると約7秒掛かってコピーの前の状態に戻ります。 ウィルスバスター2007のチェックでは、ウィルスは無いです。 パソコンはwin2000 intel celeron 2.4GHz メモリ 770MBです。どのような原因が考えられるでしょうか。

専門家に質問してみよう