Labels BackColor

Status
Niet open voor verdere reacties.

DutchOirs

Gebruiker
Lid geworden
30 sep 2009
Berichten
891
Goedenavond,

Zit weer met een vraagje.

Gebruik Labels om bepaalde gegevens te tonen.
Gebruik hierbij ook kleuren voor de BackColor van de Labels.
Vroeg me af of er geen betere manier is met een loop of lus om al deze Labels weer hun standaard kleur te geven (grijs)

Heb nu het volgende:
Code:
Private Sub Kleuren2TB()
  If Label1 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label2 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label3 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label4 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label5 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label6 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label7 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label8 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label9 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label10 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label11 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label12 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label13 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label14 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label15 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label16 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label17 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label18 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label19 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label20 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label21 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label22 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label23 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label24 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label25 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label26 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label27 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label28 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label29 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label30 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label31 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label32 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label33 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label34 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label35 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label36 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label37 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label38 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label39 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label40 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label41 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label42 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label43 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label44 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label45 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label46 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label47 <> "" Then Label1.BackColor = RGB(192, 192, 192)
  If Label48 <> "" Then Label1.BackColor = RGB(192, 192, 192)
End Sub

met de optie

Code:
 For i = 1 To 3
   Label(i).BackColor = RGB(192, 192, 192)
 Next i

werkt dus niet.


ff een vb-tje bijgevoegd..

Vr. Gr.

Dutch
 

Bijlagen

Laatst bewerkt:
Deze dan:
Code:
Private Sub Kleuren2TB()
    Dim i As Integer
    For i = 1 To 48
        If Controls("Label" & i) <> "" Then _
           Controls("Label" & i).BackColor = RGB(192, 192, 192)
    Next i
End Sub
 
Of wat je ook vaak ziet.
Code:
Private Sub WrkBut_Click()
    Dim i As Integer
    For i = 1 To 48
        If [COLOR="#FF0000"]Me[/COLOR]("Label" & i) <> vbNullString Then _
           [COLOR="#FF0000"]Me[/COLOR]("Label" & i).BackColor = RGB(192, 192, 192)
    Next i
End Sub
 
Dat gebruik van Me kende ik nog niet. Weer wat geleerd :)
 
Goedemorgen beidde,

Druk weekend geweest en niet veel tijd in VBA gestopt :-(
Ga ermee aan de slag en je hoort nog van me..

Wel een vraag aan warm bakkertje: wat is het verschil/voordeel om Me te gebruiken?

Thanks

Vr. Gr.

Dutch
 
Me("objectnaam") verwijst naar een object op het actieve bronobject. Meestal is dat een formulier of een rapport. In Access is het behoorlijk gebruikelijk om met Me naar de verschillende objecten zoals tekstvakken en recordsource te verwijzen. In Excel kan dat ook.
 
Of

Code:
Private Sub WrkBut_Click()
  For j = 1 To 48
    Me("Label" & j).BackColor = iif(Me("Label" & j).caption="",Me("Label" & j).backcolor,RGB(192, 192, 192))
  Next
End Sub

maar mijn voorkeur
Code:
Private Sub WrkBut_Click()
  For j = 1 To 48
    Me("Label" & j).visible=Me("Label" & j).caption<>""
  Next
End Sub
 
@Edmoor

Zet in de macromodule van Thisworkbook:
Code:
Sub M_snb()
   MsgBox Me.Name
End Sub
Zet in de macromodule van een werkblad:
Code:
Sub M_snb()
   MsgBox Me.Name
End Sub

Zet in een userform
Code:
Private sub Userform_initialize()
   MsgBox Me.Name
End Sub



Dan zie je dat Me een relatief begrip is: een verwijzer naar de container (hoogste 'parent') van de macro in dit geval.
 
Laatst bewerkt:
ja, ik weet wat het is. Kende alleen het gebruik ervan in plaats van het door mij gebruikte Controls niet.
Dank je :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan