ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   application or object defined error (https://www.excelbanter.com/excel-programming/372332-application-object-defined-error.html)

Janis

application or object defined error
 
I get a runtime error on line LastRow = .cells(.rows.xxxxxx
I think it is because it doesn't know the wowrksheets belong to the the
active workbook object ?

Thanks,
-------
Public Sub ColorDivHeaders()
'GREY ROW HEADER FOR FIRST ROW OF A DEPARTMENT IN A DIVISION
'Database is sorted on Division Number, Department Number and status
'Create row header in light gray above the first row
'of each consecutive Department in a Division
'cell 0 = division #
'cell P = division name
'cell Q = department #
'cell R = department name

' Create a medium grey row header above first row of every status type
within a department

'
Dim FirstRow As Long
Dim LastRow As Long
Dim wbk As Workbook
Dim iRow As Long
Dim wkb As Workbook
Set wkb = ActiveWorkbook
With Worksheets("Sheet1")

FirstRow = 2
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
For iRow = LastRow To FirstRow + 1 Step -1
If .Cells(iRow, "o").Value = .Cells(iRow - 1, "o").Value Then
'do nothing
Else
.Rows(iRow).Insert
.Rows(iRow).Interior.ColorIndex = 15
End If
Next iRow
End With
End Sub

Jim Thomlinson

application or object defined error
 
The problem is that you have "0" which is zero. Not to sure if you mean to
use "O". Otherwise your column needs to be between 1 and 256 so either...

LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row
or
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
--
HTH...

Jim Thomlinson


"Janis" wrote:

I get a runtime error on line LastRow = .cells(.rows.xxxxxx
I think it is because it doesn't know the wowrksheets belong to the the
active workbook object ?

Thanks,
-------
Public Sub ColorDivHeaders()
'GREY ROW HEADER FOR FIRST ROW OF A DEPARTMENT IN A DIVISION
'Database is sorted on Division Number, Department Number and status
'Create row header in light gray above the first row
'of each consecutive Department in a Division
'cell 0 = division #
'cell P = division name
'cell Q = department #
'cell R = department name

' Create a medium grey row header above first row of every status type
within a department

'
Dim FirstRow As Long
Dim LastRow As Long
Dim wbk As Workbook
Dim iRow As Long
Dim wkb As Workbook
Set wkb = ActiveWorkbook
With Worksheets("Sheet1")

FirstRow = 2
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
For iRow = LastRow To FirstRow + 1 Step -1
If .Cells(iRow, "o").Value = .Cells(iRow - 1, "o").Value Then
'do nothing
Else
.Rows(iRow).Insert
.Rows(iRow).Interior.ColorIndex = 15
End If
Next iRow
End With
End Sub


Andrew Taylor

application or object defined error
 
The line
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
should be
LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row

(Letter O, not zero).



Janis wrote:
I get a runtime error on line LastRow = .cells(.rows.xxxxxx
I think it is because it doesn't know the wowrksheets belong to the the
active workbook object ?

Thanks,
-------
Public Sub ColorDivHeaders()
'GREY ROW HEADER FOR FIRST ROW OF A DEPARTMENT IN A DIVISION
'Database is sorted on Division Number, Department Number and status
'Create row header in light gray above the first row
'of each consecutive Department in a Division
'cell 0 = division #
'cell P = division name
'cell Q = department #
'cell R = department name

' Create a medium grey row header above first row of every status type
within a department

'
Dim FirstRow As Long
Dim LastRow As Long
Dim wbk As Workbook
Dim iRow As Long
Dim wkb As Workbook
Set wkb = ActiveWorkbook
With Worksheets("Sheet1")

FirstRow = 2
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
For iRow = LastRow To FirstRow + 1 Step -1
If .Cells(iRow, "o").Value = .Cells(iRow - 1, "o").Value Then
'do nothing
Else
.Rows(iRow).Insert
.Rows(iRow).Interior.ColorIndex = 15
End If
Next iRow
End With
End Sub



Janis

application or object defined error
 
thanks, I'm starting to get the hang of the cell object range naming.

"Jim Thomlinson" wrote:

The problem is that you have "0" which is zero. Not to sure if you mean to
use "O". Otherwise your column needs to be between 1 and 256 so either...

LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row
or
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
--
HTH...

Jim Thomlinson


"Janis" wrote:

I get a runtime error on line LastRow = .cells(.rows.xxxxxx
I think it is because it doesn't know the wowrksheets belong to the the
active workbook object ?

Thanks,
-------
Public Sub ColorDivHeaders()
'GREY ROW HEADER FOR FIRST ROW OF A DEPARTMENT IN A DIVISION
'Database is sorted on Division Number, Department Number and status
'Create row header in light gray above the first row
'of each consecutive Department in a Division
'cell 0 = division #
'cell P = division name
'cell Q = department #
'cell R = department name

' Create a medium grey row header above first row of every status type
within a department

'
Dim FirstRow As Long
Dim LastRow As Long
Dim wbk As Workbook
Dim iRow As Long
Dim wkb As Workbook
Set wkb = ActiveWorkbook
With Worksheets("Sheet1")

FirstRow = 2
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
For iRow = LastRow To FirstRow + 1 Step -1
If .Cells(iRow, "o").Value = .Cells(iRow - 1, "o").Value Then
'do nothing
Else
.Rows(iRow).Insert
.Rows(iRow).Interior.ColorIndex = 15
End If
Next iRow
End With
End Sub


Janis

application or object defined error
 
thanks,

"Andrew Taylor" wrote:

The line
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
should be
LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row

(Letter O, not zero).



Janis wrote:
I get a runtime error on line LastRow = .cells(.rows.xxxxxx
I think it is because it doesn't know the wowrksheets belong to the the
active workbook object ?

Thanks,
-------
Public Sub ColorDivHeaders()
'GREY ROW HEADER FOR FIRST ROW OF A DEPARTMENT IN A DIVISION
'Database is sorted on Division Number, Department Number and status
'Create row header in light gray above the first row
'of each consecutive Department in a Division
'cell 0 = division #
'cell P = division name
'cell Q = department #
'cell R = department name

' Create a medium grey row header above first row of every status type
within a department

'
Dim FirstRow As Long
Dim LastRow As Long
Dim wbk As Workbook
Dim iRow As Long
Dim wkb As Workbook
Set wkb = ActiveWorkbook
With Worksheets("Sheet1")

FirstRow = 2
LastRow = .Cells(.Rows.Count, "0").End(xlUp).Row
For iRow = LastRow To FirstRow + 1 Step -1
If .Cells(iRow, "o").Value = .Cells(iRow - 1, "o").Value Then
'do nothing
Else
.Rows(iRow).Insert
.Rows(iRow).Interior.ColorIndex = 15
End If
Next iRow
End With
End Sub





All times are GMT +1. The time now is 02:12 AM.

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