Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7534 / 13644 ツリー ←次へ | 前へ→

【38494】行の挿入について ざき 06/6/5(月) 8:45 質問[未読]
【38497】Re:行の挿入について Jaka 06/6/5(月) 11:42 発言[未読]
【38498】Re:行の挿入について Statis 06/6/5(月) 11:50 回答[未読]
【38499】Re:行の挿入について ざき 06/6/5(月) 12:35 お礼[未読]

【38494】行の挿入について
質問  ざき  - 06/6/5(月) 8:45 -

引用なし
パスワード
     A    B    C   
1 りんご      5
2     なし  
3          4
4 バナナ パイナップル 1
5 なし

上の様な表で、C列の数値が入っているセル(C1,C3,C4)にそれぞれ行を挿入したいのですが、
記録マクロ
Sub Macro1()
  Range("C1:C5").Select
  Selection.SpecialCells(xlCellTypeConstants, 1).Select
  Selection.EntireRow.Insert
End Sub
で実行すると、下の様になってしまいます。3行、4行それぞれに、列を挿入したいのですが、
よろしくお願いします。
  A    B    C   
1 
2 りんご      5
3     なし  
4 
5 
6          4
7 バナナ パイナップル 1
8 なし

【38497】Re:行の挿入について
発言  Jaka  - 06/6/5(月) 11:42 -

引用なし
パスワード
   こんな方法しか思いつかなかった。

Dim RG as Range,CL as range
Set rg = Range(Range("C1"), Range("C65536").End(xlUp)). _
        SpecialCells(xlCellTypeConstants, 1)
ct = rg.Count
For Each CL In rg
  i = i + 1
  CL.EntireRow.Insert
  If i = ct Then Exit For
Next

【38498】Re:行の挿入について
回答  Statis  - 06/6/5(月) 11:50 -

引用なし
パスワード
   こんにちは

こんな方法も


Sub test()
Dim i As Long
For i = Range("C65536").End(xlUp).Row To 1 Step -1
  If Not IsEmpty(Cells(i, 3).Value) And IsNumeric(Cells(i, 3).Value) Then
    Rows(i + 1).Insert
  End If
Next i
End Sub

【38499】Re:行の挿入について
お礼  ざき  - 06/6/5(月) 12:35 -

引用なし
パスワード
   ▼Statis さん:Jakaさん
ありがとうございます。
上手くいきました。
また、解らないことが有りましたら、よろしくお願いします。

7534 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free