ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Auto format blank rows using code (https://www.excelbanter.com/excel-discussion-misc-queries/229244-auto-format-blank-rows-using-code.html)

Marie Bayes

Auto format blank rows using code
 
Hi
I need to have a spreadsheet searched and where there are complete blank
rows I need to colour that row. I can't do this using conditional formatting
as there will be data constantly copied into the spreadsheet overwriting any
conditional formatting input, therefore it needs to be done using VB code. I
already have some code in the workbook (see below) and would like to add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
..HorizontalAlignment = xlGeneral
..VerticalAlignment = xlBottom
..WrapText = False
..Orientation = 0
..AddIndent = False
..IndentLevel = 0
..ShrinkToFit = False
..ReadingOrder = xlContext
..MergeCells = False

..EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes

Gary''s Student

Auto format blank rows using code
 
Try this small macro:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j).Interior.ColorIndex = 3
End If
Next
End Sub

--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

Hi
I need to have a spreadsheet searched and where there are complete blank
rows I need to colour that row. I can't do this using conditional formatting
as there will be data constantly copied into the spreadsheet overwriting any
conditional formatting input, therefore it needs to be done using VB code. I
already have some code in the workbook (see below) and would like to add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False

.EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes


Marie Bayes

Auto format blank rows using code
 
WOW, that was shockingly bright - however, worked a treat. Are you able to
help me with an amendment - instead of formatting the blank row, how would I
find the blank row and then format the row above it instead? Thanks in
advance.
--
Marie Bayes


"Gary''s Student" wrote:

Try this small macro:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j).Interior.ColorIndex = 3
End If
Next
End Sub

--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

Hi
I need to have a spreadsheet searched and where there are complete blank
rows I need to colour that row. I can't do this using conditional formatting
as there will be data constantly copied into the spreadsheet overwriting any
conditional formatting input, therefore it needs to be done using VB code. I
already have some code in the workbook (see below) and would like to add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False

.EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes


Gary''s Student

Auto format blank rows using code
 
A one line change:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
i = 20
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j - 1).Interior.ColorIndex = 3
End If
Next
End Sub
--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

WOW, that was shockingly bright - however, worked a treat. Are you able to
help me with an amendment - instead of formatting the blank row, how would I
find the blank row and then format the row above it instead? Thanks in
advance.
--
Marie Bayes


"Gary''s Student" wrote:

Try this small macro:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j).Interior.ColorIndex = 3
End If
Next
End Sub

--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

Hi
I need to have a spreadsheet searched and where there are complete blank
rows I need to colour that row. I can't do this using conditional formatting
as there will be data constantly copied into the spreadsheet overwriting any
conditional formatting input, therefore it needs to be done using VB code. I
already have some code in the workbook (see below) and would like to add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False

.EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes


Gary''s Student

Auto format blank rows using code
 
Ignore my second post. Use:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j - 1).Interior.ColorIndex = 3
End If
Next
End Sub
--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

WOW, that was shockingly bright - however, worked a treat. Are you able to
help me with an amendment - instead of formatting the blank row, how would I
find the blank row and then format the row above it instead? Thanks in
advance.
--
Marie Bayes


"Gary''s Student" wrote:

Try this small macro:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j).Interior.ColorIndex = 3
End If
Next
End Sub

--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

Hi
I need to have a spreadsheet searched and where there are complete blank
rows I need to colour that row. I can't do this using conditional formatting
as there will be data constantly copied into the spreadsheet overwriting any
conditional formatting input, therefore it needs to be done using VB code. I
already have some code in the workbook (see below) and would like to add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False

.EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes


Per Jessen

Auto format blank rows using code
 
Marie,

Change the line Rows(j)..... to this:

Rows(j - 1).Interior.ColorIndex = 3

Regards,
Per

"Marie Bayes" skrev i meddelelsen
...
WOW, that was shockingly bright - however, worked a treat. Are you able
to
help me with an amendment - instead of formatting the blank row, how would
I
find the blank row and then format the row above it instead? Thanks in
advance.
--
Marie Bayes


"Gary''s Student" wrote:

Try this small macro:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j).Interior.ColorIndex = 3
End If
Next
End Sub

--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

Hi
I need to have a spreadsheet searched and where there are complete
blank
rows I need to colour that row. I can't do this using conditional
formatting
as there will be data constantly copied into the spreadsheet
overwriting any
conditional formatting input, therefore it needs to be done using VB
code. I
already have some code in the workbook (see below) and would like to
add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False

.EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes



Marie Bayes

Auto format blank rows using code
 
Once again you haven't let me down! Great result, thanks so much.
--
Marie Bayes


"Gary''s Student" wrote:

Ignore my second post. Use:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j - 1).Interior.ColorIndex = 3
End If
Next
End Sub
--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

WOW, that was shockingly bright - however, worked a treat. Are you able to
help me with an amendment - instead of formatting the blank row, how would I
find the blank row and then format the row above it instead? Thanks in
advance.
--
Marie Bayes


"Gary''s Student" wrote:

Try this small macro:

Sub ColorEmpties()
Dim i As Long, j As Long
i = Rows.Count
For j = 1 To i
If Application.WorksheetFunction.CountA(Rows(j)) = 0 Then
Rows(j).Interior.ColorIndex = 3
End If
Next
End Sub

--
Gary''s Student - gsnu200850


"Marie Bayes" wrote:

Hi
I need to have a spreadsheet searched and where there are complete blank
rows I need to colour that row. I can't do this using conditional formatting
as there will be data constantly copied into the spreadsheet overwriting any
conditional formatting input, therefore it needs to be done using VB code. I
already have some code in the workbook (see below) and would like to add to
it with the above. I'd appreciate any help. Thanks.
Private Sub workbook_open()
Sheets("Sheet2").Activate

Set f = Columns("A").Find(what:="Date")
Set TestRange = Range(f.Address).Offset(-2, 0).Resize(2, 1)

If WorksheetFunction.CountA(TestRange.Value) = 0 Then
TestRange.EntireRow.Delete
End If

With Cells
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False

.EntireColumn.AutoFit
End With

On Error GoTo errhandler
ActiveSheet.DrawingObjects.Delete

errhandler:
Exit Sub
End Sub
--
Marie Bayes



All times are GMT +1. The time now is 04:26 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com