15. september 2010 - 17:18Der er
14 kommentarer og 1 løsning
VB i excel
Hej Eksperter
jeg har lavet en Userform hvor jeg har nogle label på. Jeg skal have sat nogle if Then sætninger ind, fordi hvis der ikke står noget i cellerne fejler userforme.
Er der en der kunne hjælpe mig.
Her er koden jeg bruger
Private Sub UserForm_Activate() With Sheets("senior") Label31.Caption = .Range("q2").Value & " " & .Range("r2").Value & " " & .Range("s2").Value & " " & .Range("t2").Value & " " & .Range("U2").Value & " " & .Range("V2").Value & " " & .Range("W2").Value End With
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
her er så koden som gør det nemmere at tilføje flere labels
Private Sub UserForm_Activate() Dim A As String, R As Integer, K As Integer, L As Integer With Sheets("senior") L = 31 'startlabels For R = 2 To 4 ' rækker, ret til flere rækker, hvis du laver flere labels For K = 17 To 23 ' kolonner A = A & .Cells(R, K) If K < 23 Then A = A & " " ' sætter mellemrum Next
If Len(A) > 0 Then Me.Controls("label" & L).Caption = A L = L + 1 A = "" Next End With End Sub
With Sheets("Damer") Dim A As String L = 31 'startlabels For R = 2 To 4 ' rækker, ret til flere rækker, hvis du laver flere labels For K = 17 To 23 ' kolonner If Not IsError(.Cells(R, K)) Then ' den fejlede når du har fejlmedellelse på formlen, det fanges her A = A & .Cells(R, K) If K < 23 Then A = A & " " ' sætter mellemrum End If Next
If Len(A) > 0 Then Me.Controls("label" & L).Caption = A L = L + 1 A = "" Next End With
Jeg har lige lavet koden så den gælder alle ark i TOP 3. Så skal du ikke bruge andet.
Private Sub UserForm_Activate() Dim Sider As Variant, I As Integer Dim A As String, R As Integer, K As Integer, L As Integer Sider = Array("Senior", "Oldboys", "Veteran", "Super_Veteran", "Damer", "Junior") ' dine ark, husk rigtig rækkefølge
L = 19 'startlabels
For I = 0 To UBound(Sider) With Sheets(Sider(I)) For R = 2 To 4 ' rækker, ret til flere rækker, hvis du laver flere labels For K = 17 To 23 ' kolonner If Not IsError(.Cells(R, K)) Then ' fanger fejl i celler A = A & .Cells(R, K).Value If K < 23 Then A = A & " " ' sætter mellemrum End If Next
If Len(A) > 0 Then Me.Controls("label" & L).Caption = A L = L + 1 A = "" Next End With Next End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.