Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Macro, if then next

I am trying to get the cells in one column to show highlighted given the
value in the adjacent cell in the next column =1, if not then no format
change is needed. The macro I have pieced together is listed below but it It
works for one row and then does not drop down to the next row.


Public Sub Highlight()
For Each cell In Selection
If cell.Offset(0, 1) = 1 Then
ActiveCell.Select
Selection.Interior.ColorIndex = 6#
Pattern = xlSolid
End If
Next
End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 92
Default Macro, if then next

"aseret" wrote in message
...
: I am trying to get the cells in one column to show highlighted given the
: value in the adjacent cell in the next column =1, if not then no format
: change is needed. The macro I have pieced together is listed below but it
It
: works for one row and then does not drop down to the next row.
:
:
: Public Sub Highlight()
: For Each cell In Selection
: If cell.Offset(0, 1) = 1 Then
: ActiveCell.Select
: Selection.Interior.ColorIndex = 6#
: Pattern = xlSolid
: End If
: Next
: End Sub

looks like you are using activecell.select when you should be using cell as
referenced in your loop. Try this

Public Sub Highlight()
Dim myCell As Range
For Each myCell In Selection
If myCell.Offset(0, 1) = 1 Then
myCell.Interior.ColorIndex = 6#
myCell.Interior.Pattern = xlSolid
End If
Next myCell
End Sub

Paul D


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 694
Default Macro, if then next

Hi,
Excel has a ConditionalFormating featu
Assuming your range is A1:A10 and must be Dynamically formatted based on the
values of B1:B10 (special format when B is 1).
-Select A1:A10. Make sure A1 is the active cell.
- menu Format Conditional Formatting. In the dialog, choose:
-'formula is'
-enter the formula: = (B1=1)
(if formula returns True then applies the special format)
-click the Format button and choose a pattern in the Pattern Tab, say
Grey.
- Clickok
-click ok
From now on when a cell in B1:B10 is 1, it corresponding cell in A1:A10 gets
the Grey pattern

Is it close to what you were looking for?

Regards,
Sebastien

"aseret" wrote:

I am trying to get the cells in one column to show highlighted given the
value in the adjacent cell in the next column =1, if not then no format
change is needed. The macro I have pieced together is listed below but it It
works for one row and then does not drop down to the next row.


Public Sub Highlight()
For Each cell In Selection
If cell.Offset(0, 1) = 1 Then
ActiveCell.Select
Selection.Interior.ColorIndex = 6#
Pattern = xlSolid
End If
Next
End Sub

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,327
Default Macro, if then next

Hi

ActiveCell is the "white" cell in your selection, not where the 1 is
discovered. See if this makes sense:

Public Sub Highlight()
Dim cell As Range
For Each cell In Selection
If cell.Offset(0, 1).Value = 1 Then
cell.Interior.ColorIndex = 6#
cell.Interior.Pattern = xlSolid
End If
Next
End Sub

You should select "require variable declaration" in your VB editor. OK, you
must type things like "Dim cell As Range" all the time, but intellisense and
the error messages will be far more helpful and clever.

HTH. Best wishes Harald


"aseret" skrev i melding
...
I am trying to get the cells in one column to show highlighted given the
value in the adjacent cell in the next column =1, if not then no format
change is needed. The macro I have pieced together is listed below but it

It
works for one row and then does not drop down to the next row.


Public Sub Highlight()
For Each cell In Selection
If cell.Offset(0, 1) = 1 Then
ActiveCell.Select
Selection.Interior.ColorIndex = 6#
Pattern = xlSolid
End If
Next
End Sub



  #5   Report Post  
Posted to microsoft.public.excel.programming
Ed Ed is offline
external usenet poster
 
Posts: 399
Default Macro, if then next

The ActiveCell seemed to be throwing a hitch in things. This code worked
for me:

Public Sub Highlight()
Dim rng As Range
Dim i As Long

Set rng = Selection

For i = 1 To rng.Rows.Count
If rng.Cells(i, 1).Offset(0, 1).Value = 1 Then
rng.Cells(i, 1).Interior.ColorIndex = 6#
End If
Next i

End Sub

Ed

"aseret" wrote in message
...
I am trying to get the cells in one column to show highlighted given the
value in the adjacent cell in the next column =1, if not then no format
change is needed. The macro I have pieced together is listed below but it

It
works for one row and then does not drop down to the next row.


Public Sub Highlight()
For Each cell In Selection
If cell.Offset(0, 1) = 1 Then
ActiveCell.Select
Selection.Interior.ColorIndex = 6#
Pattern = xlSolid
End If
Next
End Sub



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
Macro recorded... tabs & file names changed, macro hangs Steve Excel Worksheet Functions 3 October 30th 09 11:41 AM
Macro Help Needed - Excel 2007 - Print Macro with Auto Sort Gavin Excel Worksheet Functions 0 May 17th 07 01:20 PM
how to count/sum by function/macro to get the number of record to do copy/paste in macro tango Excel Programming 1 October 15th 04 01:16 PM
macro to delete entire rows when column A is blank ...a quick macro vikram Excel Programming 4 May 3rd 04 08:45 PM
Start Macro / Stop Macro / Restart Macro Pete[_13_] Excel Programming 2 November 21st 03 05:04 PM


All times are GMT +1. The time now is 06:16 PM.

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"