easy coding??

L

Little pete

I am writing code to colour my cells in the detail panel, so far have
completed this for the calander year. My next report requires me to use
similar code but to break it down to indivual days. is their an easy way to
do this rather than copy and paste and change each of the dates??

Thanks for the help so far.

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Select Case Me.Jan
Case "AM"
Me![Jan].BackColor = 16764057
Case "AS"
Me![Jan].BackColor = 32768
Case "D"
Me![Jan].BackColor = 8421504
Case "IC"
Me![Jan].BackColor = 255
Case "L"
Me![Jan].BackColor = 65535
Case "P"
Me![Jan].BackColor = 8388736
Case "QS"
Me![Jan].BackColor = 16711680
Case "R"
Me![Jan].BackColor = 52377
Case "SC"
Me![Jan].BackColor = 12632256
Case "SS"
Me![Jan].BackColor = 39423
Case "CT"
Me![Jan].BackColor = 10079487
Case Else
Me.Jan.BackColor = vbWhite
End Select

Select Case Me.Feb
Case "AM"
Me![Feb].BackColor = 16764057
Case "AS"
Me![Feb].BackColor = 32768
Case "D"
Me![Feb].BackColor = 8421504
Case "IC"
Me![Feb].BackColor = 255
Case "L"
Me![Feb].BackColor = 65535
Case "P"
Me![Feb].BackColor = 8388736
Case "QS"
Me![Feb].BackColor = 16711680
Case "R"
Me![Feb].BackColor = 52377
Case "SC"
Me![Feb].BackColor = 12632256
Case "SS"
Me![Feb].BackColor = 39423
Case "CT"
Me![Feb].BackColor = 10079487
Case Else
Me.Feb.BackColor = vbWhite
End Select
 
D

Dirk Goldgar

Little pete said:
I am writing code to colour my cells in the detail panel, so far have
completed this for the calander year. My next report requires me to
use similar code but to break it down to indivual days. is their an
easy way to do this rather than copy and paste and change each of the
dates??

Thanks for the help so far.

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Select Case Me.Jan
Case "AM"
Me![Jan].BackColor = 16764057
Case "AS"
Me![Jan].BackColor = 32768
Case "D"
Me![Jan].BackColor = 8421504
Case "IC"
Me![Jan].BackColor = 255
Case "L"
Me![Jan].BackColor = 65535
Case "P"
Me![Jan].BackColor = 8388736
Case "QS"
Me![Jan].BackColor = 16711680
Case "R"
Me![Jan].BackColor = 52377
Case "SC"
Me![Jan].BackColor = 12632256
Case "SS"
Me![Jan].BackColor = 39423
Case "CT"
Me![Jan].BackColor = 10079487
Case Else
Me.Jan.BackColor = vbWhite
End Select

Select Case Me.Feb
Case "AM"
Me![Feb].BackColor = 16764057
Case "AS"
Me![Feb].BackColor = 32768
Case "D"
Me![Feb].BackColor = 8421504
Case "IC"
Me![Feb].BackColor = 255
Case "L"
Me![Feb].BackColor = 65535
Case "P"
Me![Feb].BackColor = 8388736
Case "QS"
Me![Feb].BackColor = 16711680
Case "R"
Me![Feb].BackColor = 52377
Case "SC"
Me![Feb].BackColor = 12632256
Case "SS"
Me![Feb].BackColor = 39423
Case "CT"
Me![Feb].BackColor = 10079487
Case Else
Me.Feb.BackColor = vbWhite
End Select

Assuming you are repeating the exact same value tests and color
assignments for each month, you could do something like this:

'----- warning: AIR CODE -----
Dim strMonth As String
Dim intMonth As Integer

For intMonth = 1 to 12

' Get abbreviated month name
strMonth = MonthName(intMonth, True)

With Me.Controls(strMonth)

Select Case .Value
Case "AM" : .BackColor = 16764057
Case "AS" : .BackColor = 32768
Case "D" : .BackColor = 8421504
Case "IC" : .BackColor = 255
Case "L" : .BackColor = 65535
Case "P" : .BackColor = 8388736
Case "QS" : .BackColor = 16711680
Case "R" : .BackColor = 52377
Case "SC" : .BackColor = 12632256
Case "SS" : .BackColor = 39423
Case "CT" : .BackColor = 10079487
Case Else: .BackColor = vbWhite
End Select

End With

Next intMonth
'----- end code -----
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top