Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
For Each Loop w/ a range
The basics of my code a
For each cell in Range("A1, B3, C5") If cell.value=x Then 'change to this value Else 'change to another value End If Next Cell But this only seems to work on the first cell. What I am trying to do is iterate through small group of cells (not necessarily in an array) to see whether the date in each is a good business day. If not, the code replaces the date with a string variable. Can you not use a For Each Loop for this? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
For Each Loop w/ a range
Try this:
Sub foreachrange() Dim Mycells, Myrefs Mycells = Array("A2", "A4", "A6", "A8", "A10", "A12") For Each Myrefs In Mycells If Sheet1.Range(Myrefs).Value 3 Then Sheet1.Range(Myrefs).Value = 20 Next End Sub Obviously replace the 3 and =20 with whatever you want. Andrea Jones "xlcharlie" wrote: The basics of my code a For each cell in Range("A1, B3, C5") If cell.value=x Then 'change to this value Else 'change to another value End If Next Cell But this only seems to work on the first cell. What I am trying to do is iterate through small group of cells (not necessarily in an array) to see whether the date in each is a good business day. If not, the code replaces the date with a string variable. Can you not use a For Each Loop for this? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
For Each Loop w/ a range
Your For Each loop works fine for me. Have you tried stepping
through the code (F8 in the VBE)? -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "xlcharlie" wrote in message ... The basics of my code a For each cell in Range("A1, B3, C5") If cell.value=x Then 'change to this value Else 'change to another value End If Next Cell But this only seems to work on the first cell. What I am trying to do is iterate through small group of cells (not necessarily in an array) to see whether the date in each is a good business day. If not, the code replaces the date with a string variable. Can you not use a For Each Loop for this? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
For Each Loop w/ a range
Sub AB()
For Each cell In Range("A1, B3, C5") Debug.Print cell.Address Next cell End Sub produces: $A$1 $B$3 $C$5 so your problem isn't in looping through the cells and there is no sense to going to something more convoluted to achieve what is already being achieved. -- Regards, Tom Ogilvy "xlcharlie" wrote in message ... The basics of my code a For each cell in Range("A1, B3, C5") If cell.value=x Then 'change to this value Else 'change to another value End If Next Cell But this only seems to work on the first cell. What I am trying to do is iterate through small group of cells (not necessarily in an array) to see whether the date in each is a good business day. If not, the code replaces the date with a string variable. Can you not use a For Each Loop for this? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
loop in range | Excel Programming | |||
Loop in a Range | Excel Programming | |||
Loop through Range and Cut and Paste | Excel Programming | |||
Loop through a range | Excel Programming | |||
Increasing a range in a loop | Excel Programming |