View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Charlie Charlie is offline
external usenet poster
 
Posts: 703
Default Looping rather than code for each row

Argue all you want. Shorter = Simpler. Simpler to type and, for some of us,
simpler to understand without all those extra, redundant parentheses
cluttering up the place.

Some programmers like the extra parentheses (and the extra work required to
type them in) and some don't. New programmers may want to know that
parentheses are not always required.

"Bob Phillips" wrote:

No, that is shorter, simpler it is snot.

--
__________________________________
HTH

Bob

"Charlie" wrote in message
...
Two fewer parentheses! (Hey, simpler is simpler.)

"Bob Phillips" wrote:

How is that simpler?

--
__________________________________
HTH

Bob

"Charlie" wrote in message
...
and simpler still

For lRow = 7 To 17
Rows(lRow).Hidden = Cells(lRow, 2).Value = Region
Next lRow


"Bob Phillips" wrote:

It can be written simpler

Dim lRow As Long

For lRow = 7 To 17

Rows(lRow).Hidden = (Cells(lRow, 2).Value = Region)
Next lRow


--
__________________________________
HTH

Bob

"Martin" wrote in message
...
Nigel, thank you. You have save me so much time.

Martin

"Nigel" wrote:

Dim lRow As Long

For lRow = 7 To 17

If Cells(lRow, 2) = Region Then
Rows(lRow).EntireRow.Hidden = True
Else
Rows(lRow).EntireRow.Hidden = False
End If

Next lRow

--

Regards,
Nigel




"Martin" wrote in message
...
Hello,

I am new to Excel programming and wondered if there is a more
efficient
way
of writing some code. Here is my existing code:

If Range("B7").Value = Region Then Rows("7:7").Hidden = False
Else
Rows("7:7").Hidden = True
If Range("B8").Value = Region Then Rows("8:8").Hidden = False
Else
Rows("8:8").Hidden = True
If Range("B9").Value = Region Then Rows("9:9").Hidden = False
Else
Rows("9:9").Hidden = True
If Range("B10").Value = Region Then Rows("10:10").Hidden = False
Else
Rows("10:10").Hidden = True
If Range("B11").Value = Region Then Rows("11:11").Hidden = False
Else
Rows("11:11").Hidden = True
If Range("B12").Value = Region Then Rows("12:12").Hidden = False
Else
Rows("12:12").Hidden = True
If Range("B13").Value = Region Then Rows("13:13").Hidden = False
Else
Rows("13:13").Hidden = True
If Range("B14").Value = Region Then Rows("14:14").Hidden = False
Else
Rows("14:14").Hidden = True
If Range("B15").Value = Region Then Rows("15:15").Hidden = False
Else
Rows("15:15").Hidden = True
If Range("B16").Value = Region Then Rows("16:16").Hidden = False
Else
Rows("16:16").Hidden = True
If Range("B17").Value = Region Then Rows("17:17").Hidden = False
Else
Rows("17:17").Hidden = True

Rather than copy this for each row is there a way to say
something
like
start at row 7 and loop until row 17.

The spreadsheet has many headers so I will need to replicate this
from
rows
20 to 30, rows 28 to 35 etc etc rather than all rows.

Any advice would be greatly appreciated.

Martin