私は気分であったため、ここでは(ChkCol
ここでCOL 1を空のセルを持つすべての行を非表示にします「ワンライナー」があります、しかし、あなたは明らかにそれを変更することができます)
Option Explicit
Sub Hidemacro()
Const ChkCol As Long = 1
Range(Cells(1, ChkCol), Cells.Find("*", Cells(1, ChkCol), xlFormulas, , xlByRows, xlPrevious)).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub
ChkCol
内のセルのいずれかである空またはnull文字列が含まれている行を非表示にするマクロで使用するには、この概念を拡大します。マクロを実行しているワークシートを明示的に定義することは、通常は良いことです(以下のマクロでは、実際にその機能を望む場合は明示的にSet WS = ActiveSheet
とすることができます)。あなたは多くの行があれば高速に実行可能性があります。
Option Explicit
Sub Hidemacro()
Const ChkCol As Long = 1
Const BeginRow As Long = 1
Dim WS As Worksheet
Dim myRange As Range, R As Range
Set WS = Worksheets("sheet1")
Application.ScreenUpdating = False
With WS
.Cells.EntireRow.Hidden = False
With Range(.Cells(BeginRow, ChkCol), .Columns(ChkCol).Find(_
what:="*", _
after:=.Cells(BeginRow, ChkCol), _
LookIn:=xlFormulas, _
searchorder:=xlByRows, _
searchdirection:=xlPrevious))
.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
For Each R In .SpecialCells(xlCellTypeVisible).Cells
If Len(R.Text) = 0 Then R.EntireRow.Hidden = True
Next R
End With
End With
Application.ScreenUpdating = True
End Sub
使用 'とendRow =細胞(sht.Rows.Countを、 "A")終了(xlUp).Row'、より良いあなたはまた、シートの参照 –
Iを持っている場合この行にオブジェクトが必要であることを示すエラーが表示されました – George
投稿にエラーがあります。列にデータがある場合は、 'EndRow = Cells(Rows.Count、" A ")End(xlUp).Row'を試してください。 A –