Avatar billede mrkr Juniormester
29. juni 2008 - 12:42 Der er 4 kommentarer og
1 løsning

skrive tekster i userform alt efter hvilke ark er synlige

Jeg har en userform som har vises imens en langsom makro kører.

På den userform kunne jeg godt tænke mig at den skriver nogle tekster alt efter hvilke ark der er synlige,så brugeren kan se nogle informationer imens makroen køres.

Jeg har bl.a. følgende ark.
test, kørsel, afreg, godk

Hvis disse ark er synlig ville jeg meget gerne have vist følgende tekster i min userform (userform1)

Testkørsel
Kørselsregnskab
Afregning
Godkendt

Hvis der er en eller flere af de ovenstående ark der ikke er synlige, skal de IKKE vises i userformen.
Avatar billede supertekst Ekspert
29. juni 2008 - 14:19 #1
Model, der måske kan anvendes:

Sub testAktuelleArk()
Dim arknavn
    arknavn = ActiveSheet.Name
    If Worksheets(arknavn).Visible = True Then
        Me.Label1.Caption = findTekst(arknavn)
    Else
        Me.Label1.Caption = ""
    End If
End Sub
Private Function findTekst(arknavn)
    Select Case arknavn
        Case "test"
            findTekst = "Testkørsel"
        Case "kørsel"
            findTekst = "Kørselsregnskab"
        Case "afreg"
            findTekst = "Afregning"
        Case "godk"
            findTekst = "Godkendt"
        Case Else
            findTekst = ""
    End Select
End Function
Private Sub UserForm_Click()        'Anvendes til aktivering af Userform for test
    testAktuelleArk
End Sub
Avatar billede mrkr Juniormester
29. juni 2008 - 21:35 #2
Det absolut på rette spor.

Som koden er nu viser den et af navnene i label1.

Den skal helst liste alle de ark op der er synlige.
Teksterne skal helst stå under hinanden.

F.eks.

Testkøresel
Afregning
Godkendt
osv.
Avatar billede supertekst Ekspert
29. juni 2008 - 23:53 #3
Ok - stadig i Label1 - alternativt i en listboks.

Sub testAktuelleArk()
Dim arknavn
    arknavn = ActiveSheet.Name
    If Worksheets(arknavn).Visible = True Then
        Me.Label1.Caption = Me.Label1.Caption + findTekst(arknavn) + vbCr
    End If
End Sub
Private Function findTekst(arknavn)
    Select Case arknavn
        Case "test"
            findTekst = "Testkørsel"
        Case "kørsel"
            findTekst = "Kørselsregnskab"
        Case "afreg"
            findTekst = "Afregning"
        Case "godk"
            findTekst = "Godkendt"
        Case Else
            findTekst = ""
    End Select
End Function
Private Sub UserForm_Click()        'Anvendes til aktivering af Userform for test
    testAktuelleArk
End Sub
Avatar billede mrkr Juniormester
11. august 2008 - 20:05 #4
Der er da vist gået sommerferie i den for mig.
Glemte helt at godkende denne tråd.

Tak for hjælpen supertekst

Har du et svar
Avatar billede supertekst Ekspert
11. august 2008 - 22:41 #5
Selv tak - ja - her er det...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB