View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Excelibur[_5_] Excelibur[_5_] is offline
external usenet poster
 
Posts: 1
Default Code cleanup help please


peter.thompson Wrote:
With ThisWorkbook.Sheets("Costs").CommandButton1
If Range("a100").Value < "" Then
.BackColor = &HFFFF00
Else
.BackColor = &HE0E0E0
End If
End With

With ThisWorkbook.Sheets("Costs").CommandButton2
If Range("a101").Value < "" Then
.BackColor = &HFFFF00
Else
.BackColor = &HE0E0E0
End If
End With


Peter, you can benefit from the built-in object classes in Excel. I'
not sure what you're trying to accomplish in the end, but instead o
using absolute references, you can browse through each sheet or eac
cell in a range automatically:


Code
-------------------
This code checks each sheet for cell A100 and changes the CommandButton1 control's background colour.

Dim sh as Worksheet
For each sh in ThisWorkbook.Sheets
If sh.Range("a100").Value < "" Then
sh.CommandButton1.BackColor = &HFFFF00
Else
sh.CommandButton1.BackColor = &HE0E0E0
End If
Next sh

-------------------



Code
-------------------
This code checks the current sheet for cell A100:A109 and changes the CommandButton(n) control's background colour.

Dim rng as Range
Dim os as Integer 'variable to hold the cell offset value

For os = 0 to 9 'loops through offset 0 to 9
With Range("A100").Offset(0, os) '
If .Value < "" Then
CommandButton1.BackColor = &HFFFF00
Else
CommandButton1.BackColor = &HE0E0E0
End If
Next sh

-------------------

--
Excelibu
-----------------------------------------------------------------------
Excelibur's Profile: http://www.excelforum.com/member.php...fo&userid=2978
View this thread: http://www.excelforum.com/showthread.php?threadid=49542