Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Applying style to row, getting Run-time error '450'

I'm attempting to apply a style to a row in Excel 2000 based on a validated
cell at the end of the row (containing the style type). My clunky method for
doing so, at this point, involves:

- having a style for each column in the row, for example:
"SubSection - 1"
"SubSection - 2"
"SubSection - 3"
- getting the data out of the validated cell
- setting the desired row as a range
- looping through each cell and applying the style type ("SubSection - ")
plus the column number as the style.

This is probably inefficient, but the real problem I'm encountering at this
point is with the last step. The code is as follows:

For Each cell In rngRow
cell.Style = strStyle & cell.Column
Next cell

Seems simple, seems like it should work, but produces a Run-time error
'450'. No idea why, no idea how to fix it. Hopefully one of the great Excel
Programming minds holds the answer...

Thanks,
Dustin Carter
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Applying style to row, getting Run-time error '450'

I only created one style, SubSection - 6.

Then this worked for me:

Sub Tester1()
Dim rngRow As Range, strStyle As String
Dim cell As Range
Set rngRow = Range("A10:I10")
Cells(rngRow.Row, 256).Value = "SubSection - "
strStyle = Cells(rngRow.Row, 256).Value
For Each cell In rngRow
If cell.Column = 6 Then
cell.Style = strStyle & cell.Column
End If
Next cell

End Sub
--
Regards,
Tom Ogilvy


"Dustin Carter" wrote in message
...
I'm attempting to apply a style to a row in Excel 2000 based on a

validated
cell at the end of the row (containing the style type). My clunky method

for
doing so, at this point, involves:

- having a style for each column in the row, for example:
"SubSection - 1"
"SubSection - 2"
"SubSection - 3"
- getting the data out of the validated cell
- setting the desired row as a range
- looping through each cell and applying the style type ("SubSection - ")
plus the column number as the style.

This is probably inefficient, but the real problem I'm encountering at

this
point is with the last step. The code is as follows:

For Each cell In rngRow
cell.Style = strStyle & cell.Column
Next cell

Seems simple, seems like it should work, but produces a Run-time error
'450'. No idea why, no idea how to fix it. Hopefully one of the great

Excel
Programming minds holds the answer...

Thanks,
Dustin Carter



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Applying style to row, getting Run-time error '450'

Hey Tom,
Thanks for the help. I'm not sure what I ended up changing but things are
working great now. If you get the chance, could you make sure I'm not doing
anything terribly stupid with this sub?

Sub ApplyStyle()
Dim ws As Worksheet: Set ws = ActiveSheet

' The Style named range is the column containing the desired style.
Dim rngStyleID As Range: Set rngStyleID = ws.Range("Style")

Dim strStyleID As String: Dim strStyle As String
Dim rngRow As Range: Dim cell As Range
Dim iRow As Integer: Dim iCol As Integer

For iRow = 1 To rngStyleID.Rows.Count Step 1
Set rngRow = ws.Range(Cells(rngStyleID.Rows(iRow).Row, 1),
_ Cells(rngStyleID.Rows(iRow).Row, 5))

Select Case rngStyleID(iRow).Value
Case "Section"
strStyle = "TRC - Section - "
Case "Section Note"
strStyle = "TRC - Section Note - "
Case Else
strStyle = "Invalid"
End Select

If strStyle < "Invalid" Then
For Each cell In rngRow
cell.Style = strStyle & cell.Column
Next cell
End If
Next iRow
End Sub

Thanks again,
Dustin Carter

"Tom Ogilvy" wrote:

I only created one style, SubSection - 6.

Then this worked for me:

Sub Tester1()
Dim rngRow As Range, strStyle As String
Dim cell As Range
Set rngRow = Range("A10:I10")
Cells(rngRow.Row, 256).Value = "SubSection - "
strStyle = Cells(rngRow.Row, 256).Value
For Each cell In rngRow
If cell.Column = 6 Then
cell.Style = strStyle & cell.Column
End If
Next cell

End Sub
--
Regards,
Tom Ogilvy


"Dustin Carter" wrote in message
...
I'm attempting to apply a style to a row in Excel 2000 based on a

validated
cell at the end of the row (containing the style type). My clunky method

for
doing so, at this point, involves:

- having a style for each column in the row, for example:
"SubSection - 1"
"SubSection - 2"
"SubSection - 3"
- getting the data out of the validated cell
- setting the desired row as a range
- looping through each cell and applying the style type ("SubSection - ")
plus the column number as the style.

This is probably inefficient, but the real problem I'm encountering at

this
point is with the last step. The code is as follows:

For Each cell In rngRow
cell.Style = strStyle & cell.Column
Next cell

Seems simple, seems like it should work, but produces a Run-time error
'450'. No idea why, no idea how to fix it. Hopefully one of the great

Excel
Programming minds holds the answer...

Thanks,
Dustin Carter




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Custom Cell Style - Shows as error and cannot be deleted Paul C Excel Worksheet Functions 2 December 20th 12 11:34 PM
error bar cap style Sherri Excel Discussion (Misc queries) 0 May 19th 10 07:23 PM
Syntax error while applying a formula in a macro pol Excel Discussion (Misc queries) 3 December 1st 08 07:21 PM
Style 'Percent' not found error message. DanG Excel Discussion (Misc queries) 2 April 10th 07 03:36 AM
Applying Indian comma style NAVEEN Excel Discussion (Misc queries) 1 February 22nd 06 08:59 AM


All times are GMT +1. The time now is 05:30 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"