[[20080711110540]] 『空白行の削除』(いまいち子) ページの最後に飛ぶ

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

 

『空白行の削除』(いまいち子)
 初心者過ぎて過去ログみてもいろんなサイト見てもどうしてもわかりません。

 A列	B列	C列
 ____________________________
 A	B		

 	小計	65	
 C	D			 

 	小計	6852	

 上のような表のB列の空白行削除したいです。
 空白行は1行のときもあれば、2行、3行・・・のときもあり、ランダムで決まってません。
 200行目くらいまでデータがあります。

 A列	B列	C列
 ____________________________
 A	B		
 	小計	65	
 C	D			 
 	小計	6852	  

 こんな風にするマクロを、過去ログをマネして作っているのですが、うまくできません。
 (参考マクロの前半の意味がほとんどわかりません;)
 どなたかお助け下さい。

 Sub B列空白消し() 
 row1 = Cells(Rows.Count, 1).End(xlUp).Row
 row2 = Cells(Rows.Count, 2).End(xlUp).Row

 If row1 > row2 Then
 lastmax = row1
  Else
 lastmax = row2
 End If

 Dim i As Long
 For i = lastmax To 1 Step -1
 If Cells(i, 1) = "" Or Cells(i, 2) = "" Then
  Rows(i).Delete
  End If
  Next i
 End Sub

 B列基準であれば、以下でどうでしょうか。(ROUGE)
'----
Sub test()
Dim i As Long, l_r As Long, txt As String
l_r = Range("B" & Rows.Count).End(xlUp).Row
For i = l_r To 1 Step -1
  If Len(Range("B" & i).Value) = 0 Then
    txt = txt & "B" & i & ","
    If Len(txt) > 245 Then
      Range(Left(txt, Len(txt) - 1)).EntireRow.Delete
      txt = ""
    End If
  End If
Next
If Len(txt) > 0 Then Range(Left(txt, Len(txt) - 1)).EntireRow.Delete
End Sub

 すっごい!ばっちり、思い通りにできました。ROUGEさんありがとうございます!!
 コードの意味がわかるように精進していきます。(いまいち子)


 B列だけを見ればいいなら
  B列を選択して ジャンプ→空白セル→削除→行全体
 の記録コードから改造しても良いかもしれませんね。

 (HANA)

 ↑まさにこのコードをアップしようとして衝突でした。
 数式で返した "" には反応しません。

 Sub tes()
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, 2).End(xlUp).Row
    Range("B1:B" & lastrow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
 End Sub
 
(純丸)(o^-')b


 あっ、純丸さん。
 >記録コードから改造
 ってのは、エラー処理も含め
 だったのですが・・・。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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