Avatar billede ulr Nybegynder
13. juli 2010 - 16:39 Der er 15 kommentarer og
1 løsning

PopUp vindue med CheckBox lavet via Makro

Jeg har forgaeves provet at finde en loesning paa mit problem, saa nu haaber jeg I kan hjaelpe.

Jeg har et variabelt antal celler med navne, fx. A2 til A9. Jeg vil gerne lave et popup vindue hvor hvert navn bliver skrevet paa hver sin linie og ud for skal der ogsaa vaere en tilhoerende checkbox... og da jeg ikke ved hvor mange navne jeg har, skal kaldet vaere dynamisk.

Efterfoelgende skal brugeren kunne afkrydse 1 eller flere af checkboxene og klikke OK (eller cancel) og saa skal jeg kunne aflaese hvilke navne der er valgt.

Det input skal jeg saa bruge til at lave en graf - men den del kan jeg godt finde ud af... det er overtaaende jeg er lidt blank paa.

Haaber I kan hjaelpe.
Avatar billede supertekst Ekspert
13. juli 2010 - 17:35 #1
Må popup-vinduet være en Userform?
De relevante celler - er det i kolonne/række A2 - indtil "sidste navn"?
Avatar billede ulr Nybegynder
13. juli 2010 - 20:00 #2
Ja, det må det gerne - bare den kan kaldes ved at klikke på en knap... Og ja navnene er altid fra A2 og ned efter indtil første tomme celle... fx. A2 til A8.
Avatar billede supertekst Ekspert
13. juli 2010 - 23:38 #3
Ok - vender tilbage i morgen..
Avatar billede ulr Nybegynder
14. juli 2010 - 08:06 #4
Super - tusind tak
Avatar billede supertekst Ekspert
14. juli 2010 - 09:36 #5
Sådan ser koden ud i Userform - hele filen kan fremsendes, hvis du senderen mail - @-adr. under profil.
Hvilken version af Excel?

Private Sub CommandButton1_Click()                  'OK
Dim f As Long
    For f = 0 To Me.ListBox1.ListCount - 1
        If Me.ListBox1.Selected(f) = True Then
            ActiveSheet.Cells(f + 2, 2) = ActiveSheet.Cells(f + 2, 2) + 1
        End If
    Next f
   
    Unload UserForm1
End Sub
Private Sub CommandButton2_Click()                  'Fortryd
    Unload UserForm1
End Sub
Private Sub UserForm_activate()
    hentNavne
End Sub
Private Sub hentNavne()
Dim ræk As Long, navn As String

    For ræk = 2 To 65000
        navn = Cells(ræk, 1)
        If navn <> "" Then
            Me.ListBox1.AddItem navn
        Else
            Exit Sub
        End If
    Next ræk
End Sub
Avatar billede ulr Nybegynder
14. juli 2010 - 09:53 #6
Hej Supertekst - jeg har send mail til dig...
Avatar billede ulr Nybegynder
14. juli 2010 - 09:54 #7
Forresten - jeg bruger Excel 2007...
Avatar billede supertekst Ekspert
14. juli 2010 - 10:01 #8
ok - sender Excel-filen nu....
Avatar billede ulr Nybegynder
14. juli 2010 - 10:29 #9
Tak for filen :) - nu har jeg faaet UserFormen over i mit ark - hvordan "starter" jeg den fra en knap, ligesom den knap du har?

Jeg har denne knap i min kode (kopi af en anden knap):

    ActiveSheet.Buttons.Add(20, 250, 130, 26).Select
    Selection.OnAction = "GrafResource"
    Selection.Characters.Text = "Create resource chart"
    With Selection.Characters(Start:=1, Length:=5).Font
        .Name = "GrafResource"
        .FontStyle = "Regular"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
    End With

Denne eksekverer macro "GrafResource" - men jeg vil gerne have den til at koere UserFormen...?
Avatar billede ulr Nybegynder
14. juli 2010 - 10:41 #10
Jeg klarede den - nu koerer den, saa skal jeg bare have den tilpasset... siger til naar det er OK eller hvis jeg sidder fast... du skal selvfoelgelig have dine point, saa send et svar ;)
Avatar billede supertekst Ekspert
14. juli 2010 - 10:47 #11
Jeg har oprettet en active-x komponent- således:

Udvikler / indsæt / Active-X object / Knap /
indsæt knappen / Højreklik / Vis programkode

indsæt nedenstående:

Private Sub CommandButton1_Click()
    Load UserForm1
    UserForm1.Show
End Sub
Avatar billede supertekst Ekspert
14. juli 2010 - 10:49 #12
det var så gjort.... - ja du giver blot signal - god fornøjelse med "projektet"
Avatar billede ulr Nybegynder
14. juli 2010 - 11:30 #13
Hvordan faar jeg navnet ud af den valgte listbox - lige nu laver den en "simpel" plus naar en listbox er valgt - men jeg skal bruge navnet... Hvis jeg skriver foelgende i CommandButton1_Click():

Dim navn As String
navn = ListBox1.Name
ActiveSheet.Cells(f + 217, 5) = navn

saa skriver den "ListBox1" ud - men jeg skal bruge navnet

Alternativt proevede jeg ved load a listboxene at skrive:

ListBox1.Name = navn

men det kunne den heller ikke lide?
Avatar billede supertekst Ekspert
17. juli 2010 - 11:15 #14
Prøv:
activesheet.cells(f+217,5) = me.ListBox1
Avatar billede ulr Nybegynder
19. juli 2010 - 06:56 #15
Hej igen - det er helt OK, har fundet en løsning, nu fungerer det helt perfekt - tusind tak for hjælpen.
Avatar billede supertekst Ekspert
19. juli 2010 - 08:29 #16
fint & selv tak..
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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