VBAで空白行を削除する。
初めまして、VBA初心やです。なので具体的にご教授願います。環境WindoesXP SP3 EXCEL2010です。やりたい事Book1に空白行が沢山あるSheetが一枚あります。Sheetの中身は下記の通りです。
一行目に項目があります。n行目にも項目があります。nは、10個です。項目の下の行には、デターがあります。以下のようになっております。初めの位置はB2です。
B2 項目A 項目B 項目C 項目D・・・・・
項番1 データ1 データ2 データ3 データ4・・・・・・
項番2 データ1 データ2 データ3 データ4・・・・・・
項番3 データ1 空白 データ3 データ4・・・・・・
項番4 データ1 データ2 空白 データ4・・・・・・
項番5 データ1 データ2 空白 空白・・・・・・
項番6 データ1 データ2 空白 空白・・・・・・
項番7 データ1 データ2 空白 空白・・・・・・
項番8 空白 空白 空白 空白・・・・・・
・ ・ ・ ・ ・
Bn 項目A 項目B 項目C 項目D・・・・・
項番1 データ1 データ2 データ3 データ4・・・・・・
と続きます。この項番1は残して、項番8の様な空白セルが続く行だけ削除したいので、
以下のマクロを組みました。
Dim ii As Long
Dim MaxRow(1 To 100) As Long
Dim MaxCol As Long
'============================
MaxRow(1) = Cells(Rows.Count, 2).End(xlUp).Row
MaxRow(2) = Cells(Rows.Count, 21).End(xlUp).Row
MaxRow(3) = Cells(Rows.Count, 22).End(xlUp).Row
MaxRow(4) = Cells(Rows.Count, 23).End(xlUp).Row
MaxCol = Range("IV4").End(xlToLeft).Column
Application.ScreenUpdating = False
'============================
For i = MaxRow(1) To 3 Step -1 '配列にした。
'============================
For j = 1 To MaxCol Step 1
'============================
If Cells(4, j).Value = "" Then GoTo Label22
'Else
GoTo Label11
Label22:
Range(4 & ":" & MaxCol).Delete
Label11:
Next j
'End If
Next i
Application.ScreenUpdating = True
MsgBox "マクロが終了しました"
End Sub
しかし、ソートしてMaxRowの配列のいくつになるかを計算する処が判りません。
なので、空白行を削除できません。
ようするに、各項目(行)の空白セルがまちまちで(凹凸があり)、全ての項目が空白である処を探す事が出来ません。
何卒宜しくご教授願います。
お礼
ありがとうございました。何度もすいませんでした。実施しましたがA6以降の文字が全て白紙になってしまいました。自分の説明不足です。そこで良かったら、pop2003dayo@ でヤフーの@yahoo.co.jpを後ろにつけメールに返事を書いて欲しいです。なぜかと言いますと実際のエクセルを見て欲しいのです。本当に完成させたいと思っております。どうかお願いします。