Darren Smith
Well-known Member
- Joined
- Nov 23, 2020
- Messages
- 631
- Office Version
- 2019
- Platform
- Windows
This code says "Method Range of Worksheet failed" on this line
Can`t understand why???
End Sub
VBA Code:
colorAbove ws.Range("A13:Q & LastRow").
Can`t understand why???
VBA Code:
Private Sub Add_Break_Lines_Change()
Dim cmb As ComboBox
Dim ws As Worksheet
Dim LastRow As Long
Set ws = ThisWorkbook.Worksheets("Job Card Master")
Set cmb = Me.Add_Break_Lines
cmb.AddItem "Break Lines 1 Page Job Card"
cmb.AddItem "Break Lines 2 Page Job Card"
cmb.AddItem "Break Lines 3 Page Job Card"
cmb.AddItem "Break Lines 4 Page Job Card"
cmb.AddItem "Break Lines 5 Page Job Card"
LastRow = ws.Cells(Rows.Count, 3).End(xlUp).row
MsgBox LastRow
Select Case cmb.Value
Case ("Break Lines 1 Page Job Card")
colorAbove ws.Range("A13:Q & LastRow")
Case ("Break Lines 2 Page Job Card")
colorAbove ws.Range("A13:Q61")
colorAbove ws.Range("A66:Q & LastRow")
Case ("Break Lines 3 Page Job Card")
colorAbove ws.Range("A13:Q61")
colorAbove ws.Range("A66:Q122")
colorAbove ws.Range("A127:Q & LastRow")
Case ("Break Lines 4 Page Job Card")
colorAbove ws.Range("A13:Q61")
colorAbove ws.Range("A66:Q122")
colorAbove ws.Range("A127:Q183")
colorAbove ws.Range("A188:Q & LastRow")
Case ("Break Lines 5 Page Job Card")
colorAbove ws.Range("A13:Q61")
colorAbove ws.Range("A66:Q122")
colorAbove ws.Range("A127:Q183")
colorAbove ws.Range("A188:Q244")
colorAbove ws.Range("A249:Q & LastRow")
End Select
End Sub
Sub colorAbove(rng As Range)
Dim brg As Range
Dim rrg As Range
Dim EmptyRowNum As Long
Dim i As Long
For i = 1 To rng.Rows.Count
Set rrg = rng.Rows(i)
If WorksheetFunction.CountA(rrg) = 0 Then
EmptyRowNum = EmptyRowNum + 1
End If
If EmptyRowNum = 2 Then
EmptyRowNum = 0
If brg Is Nothing Then
Set brg = rrg
Else
Set brg = Union(brg, rrg)
End If
End If
Next i
If Not brg Is Nothing Then
brg.Interior.ColorIndex = 6
End If
End Sub