【最大10000ポイント】当たる!!質問投稿キャンペーン!

Excel 2003
OS XP Professional SP3

VBAは自分でコードは組むことはできませんので見よう見まねでやっているレベルです。

A B C D E の列があり、行の1行目はタイトル行になっています。

 A  B  C   D  E

***  ***  ***  ***  ***
’  AAA  BBB  CCC  DDD
111
222
333
'   EEE  FFF  GGG  HHH
'   III  JJJ  KKK  LLL
444
555
'   MMM  NNN  OOO  PPP

A列にカンマがある行にはB~E列に値が入力されていて、A列にカンマ以外の値が入力されている
場合にはB~Eには何も入力されていません。
A列にカンマ以外の値の時、カンマのある行のデータを次のカンマのある行までフィルハンドルをドラッグしてコピーするよう
にしたいです。

 A  B  C   D  E

***  ***  ***  ***  ***
’  AAA  BBB  CCC  DDD
111  AAA  BBB  CCC  DDD
222  AAA  BBB  CCC  DDD
333  AAA  BBB  CCC  DDD
'   EEE  FFF  GGG  HHH
'   III  JJJ  KKK  LLL
444  III  JJJ  KKK  LLL
555  III  JJJ  KKK  LLL
'   MMM  NNN  OOO  PPP

 
sub 連続コピー()

Dim r As Long
Dim n As Long

r = 2
n = r + 1

Do While Worksheets("sheet1").Cells(r, 1) <> ""

If Worksheets("sheet1").Cells(r, 1).Value = Worksheets("sheet1").Cells(n, 1).Value Then

r = n
n = n + 1

Else

Range(Cells(r, 2), Cells(r, 5)).Copy Range(Cells(n, 2), Cells(n, 5))

n = n + 1

End If

Loop

End Sub

自分なりに考えてみましたが、ぜんぜん動きません。
どなたかご教授をお願いします。

A 回答 (2件)

sub macro1()


 dim r as long
 r = range("A65536").end(xlup).row

 range("B2:E" & r).specialcells(xlcelltypeblanks).formular1c1 = "=R[-1]C"
 range("B2:E" & r).value = range("B2:E" & r).value

end sub


#マクロではなく手でエクセルを操ると
B:E列を列選択,
Ctrl+G→セル選択→空白セルにマークしてOK,
B2セルがアクティブセルになっている状態で
=B1
と打ち込んでCtrlキーを押しながらEnterする

更にB:E列をコピーして,その場で型式を選んで値のみ貼り付ける

この回答への補足

たびたびすみません。
セルの書式が文字列になっていたために上手くいかなかったようです。
希望した通りにできました。
すごくシンプルなコードに感動しました。
ありがとうございました。

補足日時:2010/04/01 10:39
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
教えていただいたコードを早速実行してみましたが、
B~E列に
=R[-1]C
が連続して表示されました。
 range("B2:E" & r).specialcells(xlcelltypeblanks).formular1c1 = "=R[-1]C"
たぶんこの部分を直せばいいのかと思ったのですが、どしたらいいのか
分かりません。

お礼日時:2010/04/01 10:29

VBEで[F8]キーを押すと、ステップ実行が出来ます。


ステップ実行で、どの行で、思惑通りの動作をしていないのかを突き止めましょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
F8キーやってみました。
Do While Worksheets("sheet1").Cells(r, 1) <> ""
この行でもう一度F8を押すと
End Sub
まで飛んでいきました。
この間のコードがおかしいということでしょうか?

お礼日時:2010/04/01 10:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング