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
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
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.