• ベストアンサー

エクセル 間隔が空いたデータをその間隔のままコピペ

A列の5行目から10行目までのデータと D列の5行目から10行目までのデータと G列の5行目から10行目までのデータのデータをコピーし、 それぞれをB列、E列、H列(ひとつ右側の列)に貼り付けたいのです。 (実際にはG列以降の列もコピペしたいのですが、例としてA、D、G列にしてあります) 普通にB列に貼ると、B、C、D列に貼られてしまいます。 また、書式は貼りたくないので、値のみの貼り付けにしたいのです。 今はやり方が分からないので、A列をコピペ、D列をコピペ、・・・と列毎に処理して いますが、一度にまとめてコピペするにはどうすれば、良いのでしょうか?

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

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

次のようにすると出来ます。 C列、F列、I列を空っぽの何も入っていない状態にする 出来ないなら、それぞれ1列空列を挿入するのでもよい (補足:貼り付け先のB列、E列、H列も空っぽにしておく) A5:G10を丸ごと選んでコピーする B5に形式を選んで貼り付けの「値」にマーク、空白を無視するにチェックしてOKする。

viyamin
質問者

お礼

回答ありがとうございました。 A5:G10を丸ごと選んでコピーし、作業用スペースに貼っておく。 そこで、コピーしたくない列の値は消しておく。 そして、形式を選んで貼り付けの「値」にマーク、空白を無視する が良さそうですね。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! >一度にまとめてコピペするにはどうすれば、良いのでしょうか? とありますので、マクロになってしまいますが一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim j As Long For j = 1 To Cells(5, Columns.Count).End(xlToLeft).Column Step 3 Range(Cells(5, j), Cells(10, j)).Copy Cells(5, j + 1).Select Selection.PasteSpecial Paste:=xlPasteValues Next j End Sub 'この行まで ※ A・D・G・・・と3列おきのデータ(5~10行目)を隣の列に「値」のみを貼り付けるようにしてみました。 こんな感じではどうでしょうか?m(_ _)m

viyamin
質問者

お礼

回答ありがとうございました。 シンプルなマクロですから、自分で短時間で作ることが出来れば良いのですが、 そのまでの才能がありません。 質問に書き忘れてしまいましたが、マクロを使わないことが、希望でした。 もちろん、このマクロは保存しておいて、今後のために取っておきます。

関連するQ&A

  • エクセルVBAで質問です

    下のような表を作っています。 A列に日付がある限り、B、C、D、E列それぞれの列に対して、 3行目以降のデータが検索値と同じであれば、そのひとつ上の行の 値をG、H、I、J列にそれぞれ上から順に入れていきたいのですが、 どのようになるでしょうか。 A1 月日 B1 検索値1・・・B3以降データ C1 検索値2・・・C3以降データ D1 検索値3・・・D3以降データ E1 検索値4・・・E3以降データ G2以降に検索値1で調べた値 H2以降に検索値2で調べた値 I2以降に検索値3で調べた値 J2以降に検索値4で調べた値 例えば、B1の検索値が1であり、B10に1があったとします。 この場合、ひとつ上のB9の値をG2に来るようにしたいのです。 説明下手ですが教えていただけないでしょうか。

  • エクセル:条件データの選出

    エクセル (前提) 項目1から項目5の100行×5列の表 1行目:タイトル (1,1)が項目1、――、(1,5)が項目5    (2,1)から(100,5)がデータ (求めたいこと) 項目1データと項目2データの組合せを重複なく数え G列以降に存在するだけ G列            : H列       :I列    ----------------- 項目1データの1      : 項目1データの2:項目1データの3------------ 対応する項目21データの1 : 項目2データの2:項目2データの3------------: という形で出力したいする。(但し項目1は昇順にしたいが今回それは保留) (例) A列    B列 項目1  :項目2 C     に A     い B     ろ A     い B     は C     に D     い (例結果) G列 A:B:B:C:D(ここは必ずしもソートの必要なし) い:ろ:は:に:い どう解決すればということで、 1行目に項目1、2行目に項目2ということで G1=INDEX($A$2:$B$100,SMALL(IF(MATCH($A$2:$A$100&$B$2:$B$100,$A$2:$A$100&$B$2:$B$100,0)=ROW($A$1:$A$99),ROW($A$1:$A$99)),COLUMN(A1)),ROW(A1)) 配列数式です。Ctrl + Shift + Enter 2行目にフィル、エラーが出るまで横へフィル 昇順ではないので、結果をコピー、そのまま[形式を選択して貼り付け]-[値]、 あとは、列単位で並べ替え。 このやり方で一つの立派な解なのですが。 (質問) 項目1と項目2がA列,D列と離れている場合はどうするかということです。 もちろんワーク用にシートをコピー後B列~C列を削除して適用すれば求まるのはわかりますが、そうしないでもできる方法があれば教えてください。

  • エクセル WEB コピペ 正しくできない

    いろいろ試してみたのですが、解決できず、アドバイスをください。 WEB上のスペースで分けられた、特に区切りがない表(100行10列程度) 1 2 3 4 5 6 7 8 9 o x o x o o x x x a b c d e f g h i といったものを各セルごとにコピペをしたいのですが、 A列に1文字ずつペーストされてしまいます。 メモ帳に張り付けてからというものは、やってみましたが、メモ帳への貼り付けも同様になります。 どなたか、解決案をご存じないでしょうか? もしくは、WEBでは、表形式になっているのですが、コピペ予防策をとっているのでしょうか?

  • エクセルデータの並べ替えに関して

    エクセルデータの並べ替えに関して A列からH列まで数値が入っていて、それが8,000行くらいあります。(毎回変動します。) A1からH8000くらいのセルに値が入っています。 エクセルを縦長に使用しているので、このまま印刷をすると印刷面の右側半分以上が空白に なってしまいます。 マクロを利用して、これらの値を96行ごとに2列分けたいと思っていますが、どうやったら 良いか、教えていただけないでしょうか。 (マクロ実行前)--------------  A B C D E F G H 1 1 2 3 4 5 6 7 8  2 2 3 4 5 6 7 8 9 3 3 4 5 6 7 8 9 10 4 4 5 6 7 8 9 10 11 ・・・・・・ ---------------------------- のように下方向に数字が並んでいる場合、マクロを実行したら 次のようにしたいと思っています。 (マクロ実行後)--------------  A B C D E F G H (I) J K L M N O P Q 1 1 2 3 4 5 6 7 8(1行空き)97 98 99 100 101 102 103 104 2 2 3 4 5 6 7 8 9(1行空き)98 99 100 101 102 103 104 105 3 3 4 5 6 7 8 9 10(1行空き)99 100 101 102 103 104 105 4 4 5 6 7 8 9 10 11(1行空き)100 101 102 103 104 105 106 ・・・ 96 96 97 98 99 100 101 102 103(1行空き)192 193 194 195 196 197 198 199 97 193 194 195 196 197 198 199 200(1行空き)289 290 291 292 293 294 295 296 ・・・・・・ ---------------------------- (1)A1からH96までを切り取って、J1に貼り付ける。 (2)「(1)」で切り取って出来た空欄を削除して上方向にシフトする。 (3)A97からH192までを切り取って、J97に貼り付ける。 (4)「(2)」で切り取って出来た空欄を削除して上方向にシフトする。 といった操作を「切り取って出来た空欄を削除して上方向にシフトする。」という操作を しようとしたら上方向にシフトするデータがなくなるところまで続けたいと 思っています。

  • Excelデータのコピペ

    Excel2007を使用しています。 AとBの二つのExcelデータがありますが、それをA一つにまとめようとしています。 AとBの二つのデータは、設定した列幅、行高さも違いますので、Aデータに新しいシートを設けて、そこへBページを貼り付けようと思います。 ところが、Bデータの必要なページの全面を範囲指定コピーをして、Aの新しいシートに貼り付けようとしても、ペイントで描いたjpgの絵が付いてきてくれません。貼り付けできるのは行に記載した文章だけです。 まるごとコピー貼り付けする方法をお教え下さい。 よろしくお願いいたします。

  • エクセルのコピペ機能で

    当方、windowsで、 エクセル2003を利用しております。 エクセルでのセルのコピペ作業で、 行でも列でもいいのですが、 複数行、または複数列に渡る範囲のセルをコピーして、 別のシートに貼り付ける際、 コピーした範囲のセルで、数値が含まれるセルのみをコピーして、 貼り付け先にデータが入っていればそこは貼り付けられず、貼り付け先を残したまま、貼り付けするような機能ってないでしょうか? たとえばですが、コピー元の範囲(図1)をコピーし、(図2)に貼り付けた時に、(図1)が出来上がってしまうのではなく、 図1と図2を足した状態で図3の形で、ペースとしたいのですが、こんな機能ないでしょうか?分かりにくくなってまして申しわけないです。 ご教授いただければ幸です。 図1)  A B C D E 1ア  サ 2イ 3 4エ     ネ 図2)  A B C D E 1  カ 2  キ 3ウ ク 4  ケ 図3)  A B C D E 1ア カ サ 2イ キ 3ウ ク 4エ ケ    ネ

  • エクセルで縦列を横列にコピーしたい

    エクセルで縦列のデータを横列にコピーしていきたいのです。例えばA40のセルに「=G3」と入力し横にコピーしていくとB40には「H3」、C40には「I3」、D40には「J3」・・・・となります。そうではなく、B40には「G4」、C40には「G5」、D40には「G6」・・・・の値が入るようにしたいのです。この場合A40のセルにどのような式を入力してコピーしていけばいいのでしょうか。(複数列あり「形式を選択して貼り付け-行列を入れ替える」では上手くできません。)

  • VBA,二つのExcelのsheetにデータ保存

    VBA初心者です。 皆様のお力をお貸し頂きたく質問させて頂きます。よろしくお願いいたします。 質問内容は、下記になります。 Excelのsheet1には、縦列A,B,C・・・とデータが入っております。 sheet1の例 A B C sheet2は、入力するsheetです。 今回はA列の3行目からとします。 問題は、sheet1の縦の列をA,B,C,Dとすればデータの更新は、出来るのですが sheet1のデータのA,B,C一つ飛んでEまた一つ飛んでGという感じでsheet1のデータを 飛ばしてsheet2に表示、更新(保存)をしたいと思います。 ですので、sheet2のA列の3行目からA,B,C,飛んでE飛んでGとsheet1からデータを 表示させ、さらにsheet2の入力値が変更されると、sheet1のデータが入っている A,B,C,E,Gに更新される仕様です。 sheet1(データが入っています) A , B , C , E , G , 値1 , 値2 , 値3   , 値4 , 値5 sheet2(入力する、入力したデータは、sheet1へ更新される) A列 3行目 、sheet1の値1(A列)が入ります。 4行目 、sheet1の値2(B列)が入ります。 5行目 、sheet1の値3(C列)が入ります。 6行目 、sheet1の値4(E列)が入ります。 7行目 、sheet1の値5(G列)が入ります。 以上です。申し訳ございませんが、ご教授よろしくお願いいたします。

  • エクセルマクロで空欄と空欄の間のデータを取得する

    添付画像のようなデータが並んだエクセルシートがあります。(ブックA) ブックAsheet1のA列に数値が入っている行のB列~D列のデータを別のブックBから取得したいのです。 ブックBにsheet1~sheet20まであります。 ブックAsheet1のA列に数値が入っている行のB列~D列のデータを1セットとして、ブックBのsheet1のB1にコピーする。 次のグループをブックBのsheet2のB1にコピーする、 また次のグループをブックBのsheet3のB1にコピーする。 ブックBには書式設定してあるので、値のみコピーします。 ブックAのB列~D列の数値の配置はそのままでコピーします。 この作業をブックBからマクロで行う方法を教えて下さい。 宜しくお願いします。

  • エクセル(マクロ) 特定セルのファイル間コピペ

    マクロで下記内容の処理を行いたいと思っております。 どのようなコードにすればよいかご教授よろしくお願い致します。 1.A.xlsを開く 2.B.xlsを開く 3.B.xlsの特定セルの値をコピーする。(特定セルを仮にB4、C7、D9とする) 4.A.xlsのC列にあるファイル名リストから「B.xls」というファイル名の入ったセルを検索する。 5.仮に5行目に「B.xls」というファイル名があれば、同じ行にある特定列 (行は固定で、例えばE5、F5、G5とする)に3.でコピーしたB4、C7、D9の値を張り付ける。 ※B4はE列、C7はF列、D9はG列に対応するものとする 6.B.xlsを閉じる 7.C.xlsを開く 8.C.xlsの特定セルの値をコピーする。(特定セルはB.xlsと同じB4、C7、D9) 9.A.xlsのC列にあるファイル名リストから「C.xls」というファイル名の入ったセルを検索する。 10.仮に7行目に「C.xls」というファイル名があれば、同じ行にある特定列 (行は固定で、例えばE7、F7、G7とする)に8.でコピーしたB4、C7、D9の値を張り付ける。 ※B4はE列、C7はF列、D9はG列に対応するものとする 11.C.xlsを閉じる 12.D.xlsを開く 以下、同じ処理を繰り返す。

専門家に質問してみよう