[[20030801194524]] 『一行飛ばしのコピーについて』(みーこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一行飛ばしのコピーについて』(みーこ)

お世話になります。

特定の列の一行飛ばしてコピーする方法はありますか?

条件としては、下の行にあるデータを上の行にそのデータと

他のデータを計算させた式があり、その上の行だだけをコピーしたいのですが、

方法はありますか?。できましたらマクロ以外出来るように思うのですが

よろしくお願いします。


質問の趣旨をお尋ねします。

たとえばセルA1に式があり、その中ではB1などを参照している。
A1の式を1行飛ばしてC1などにコピーするにはどうしたらよいか?

ということでしょうか?(小太郎)

小太郎さん返事ありがとうござます。

返事がおそくなりすいません。質問の仕方が悪くて申し訳ありません。

そのとおりなのですが、他の列にコピーしたくないデータがあるため行単位での
コピーは不可能です。

  A   B  C            D E F    

1 項目 データ  空白   他のシートと下の行を参照させた式

2            上の行に必要なデータ(先の入力済み)

3 

4

上のような時にD列からF列のみ奇数行にコピーする場合を教えてくだい。

A列とB列には奇数行に項目とデータが入っています。

(偶数行にデータが入っている所までのコピーをしたいのです)よろしくお願いします

(みーこ)


 D1・E1・F1 にどんな数式が入っているのかわかりませんが、
 D1からF1を選択して「コピー」し、D3・D5・D7のように1行おきのセルを
 Ctrlキーを押しながら選択して「貼り付け」をすればコピーされます。
 数式に「$D$2」のように「$」がついていると絶対値で変わることがありませんが、
 「$D2」となっていると「$D4」「$D6」「$D8」と変化します。
 変化してよいのか、しないほうがよいのか数式を見直したうえで行なってください。
 こんな方法はいかがでしょうか?(すーさん)

すーさんありがとうございます。その方法しかないでしょうか?

もっと早い方法を探しています。160行位までコピーするので1〜2分位で出来る方法はありますか?
(みーこ)


 やはりマクロでないと早い処理は無理ではないでしょうか?
 「マクロの記録」で空枠を作り下のコードをコピーして下さい。

 Dim gyo As Integer
    Range("D1:F1").Select
    Selection.Copy
    gyo = 3
    Do Until gyo > 160
        Range("D" & gyo & ":F" & gyo).Select
        ActiveSheet.Paste
        gyo = gyo + 2
    Loop
 End Sub

 こんな感じではどうですか?(すーさん)


すーさんご丁寧なご教授ありがとうございます。

返事が大変おそくなりましたが、実行時エラーとかコンパイルエラーがで出てできませんでした。

このエラーに関する意味さえもわからないレベルなのです。申し訳ありません。

多分私に全くマクロに関する知識がないからだと思いますが、あきらめます。

一からマクロを勉強しようとしたのですが、とっかかりもわかりませんでした。(みーこ)


 先頭のSub のところが抜けている可能性があります、
 下のようになっているか確認してみてください。
 (留守番・kazu)

 Sub EvenCopy()
 Dim gyo As Integer
    Range("D1:F1").Select
    Selection.Copy
    gyo = 3
    Do Until gyo > 160
        Range("D" & gyo & ":F" & gyo).Select
        ActiveSheet.Paste
        gyo = gyo + 2
    Loop
 End Sub


ありがとうございました。できました。勉強しコピーでなく自分で出来るようになりたいと
思います。(みーこ)


 コピーでもできれば、一歩前進です。よかったですね。
 [すーさん]ごめんなさい、よこから割り込みまして。
 (kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.