Avatar billede bedrettin Nybegynder
30. januar 2009 - 12:52 Der er 7 kommentarer

Skal lave en liste med VBA, der minder om en kalender funktion

Jeg skal have lavet en funktion i excel, som fungere således: Når man dobbeltklikker på en bestemt celle i excel, skal der poppe en skema ud med cirka 60 bokse, hvori der står noget tekst. Ved at klikke på et af boksene, kan man få det der står i boksen til at stå i cellen.
Nærmest når man laver en kalender funktion, i stedet for datoerne skal der bare stå noget tekst i boksene.

Jeg er ret ny indenfor vba, så i skal være ret pædagogiske i jeres svar :)
Avatar billede supertekst Ekspert
30. januar 2009 - 12:58 #1
En mulighed kunne være en Userform med en form for Liste, indeholdende de 60 tekster.

Hvor kommer teksterne fra?

Må man spørge hvad det skal anvendes til?
Avatar billede bedrettin Nybegynder
30. januar 2009 - 13:15 #2
Jeg tænkte også på en userform, men vidste ikke rigtigt hvordan jeg skulle gribe det an. Teksterne er noget jeg selv skriver. 

Det skal bruges til en skabelon, hvor der er muligheder for at vælge hvilket stadie man er på. Alt efter hvad man vælger, får man en tekst frem, hvor der står hvad man mangler og skal udarbejde.
Avatar billede supertekst Ekspert
30. januar 2009 - 13:51 #3
ok - men teksterne skal jo lagres et eller andet sted: i Excel eller i en tekstfil -eller??

Er der andre,der skal anvende dette?
Avatar billede bedrettin Nybegynder
30. januar 2009 - 13:56 #4
Jeg ville bare lagre dem i en excel.

Ja det er meningen at andre skal bruge skabelonen...
Avatar billede supertekst Ekspert
30. januar 2009 - 14:13 #5
Du skriver, at ved at dobbeltklikke på en bestemt celle.....
...efter valg - få det til at stå i cellen

Er det kun een celle, der anvendes til dobbeltklik og indsættelse af tekst?
Avatar billede bedrettin Nybegynder
02. februar 2009 - 11:27 #6
Hej supertekst,

Jo det er en enkel celle
Avatar billede supertekst Ekspert
09. februar 2009 - 15:04 #7
Kode til det aktuelle ark(højreklik / Vis programkode)

Const xcelle = "$B$2"                              'celle-adressen, hvori der dobbeltklikkes - KAN TILPASSES
Const xTekster = "F1:F12"                          'område,hvor trekster lagres - KAN TILPASSES
Private Sub hentTekster()
    With UserForm1.ListBox1
        .Clear
        For Each cc In Range(xTekster).Cells
            .AddItem cc.Text
        Next
    End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = xcelle Then
        hentTekster
       
        Load UserForm1
        UserForm1.Show 0
        Cancel = True
    End If
End Sub

rem Kode i Userform (Listbox1& CommandButton1)

Private Sub CommandButton1_Click()
    If Me.ListBox1.ListIndex <> -1 Then
        ActiveCell.Value = Me.ListBox1
    End If
End Sub


rem Filen kan blive tilsendt- hvis du sender en mail til:

pb (a) supertekst-it . dk
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
Kurser inden for grundlæggende programmering

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