Avatar billede Greenseeker Praktikant
15. januar 2010 - 09:18 Der er 8 kommentarer og
1 løsning

Inputbox-hjælp

Hej!

Jeg har brug for noget hjælp til et skema, hvor en makro skal indsamle data fra brugeren, og ud fra disse skal der udføres nogle handlinger. Lad mig se om jeg kan få forklaret det:

Aktivering af makroen skal først medføre en message/input-box der giver to muligheder, f.eks. "Tast 1 for træningsstart eller 2 for 1. gangsinstruktion?" (+ en cancel-knap).

Ved 1): Der spørges herefter: "Indtast startdato" (også med en cancel-mulighed). Herefter spørges der: "Indtast initialer" (igen med cancel-mulighed). Herefter skal der være en messagebox hvor man skal bekræfte at man vil gennemføre handlingerne. Og herefter udføres en række handlinger, som jeg tror jeg selv kan kode... :o)

Ved 2): Samme som 1, bortset fra de efterfølgende handlinger der er anderledes.

Er der nogen der kan komme med et bud på en kode, så tager vi den derfra. :o)
Avatar billede supertekst Ekspert
15. januar 2010 - 11:12 #1
Kunne du evt. ikke anvende en userform i stedet?
Avatar billede supertekst Ekspert
15. januar 2010 - 11:28 #2
Eks. fra "Hjælp"

Sub test()

Dim Message, Title, Default, MyValue
Message = "Enter a value between 1 and 3"    ' Set prompt.
Title = "InputBox Demo"    ' Set title.
Default = "1"    ' Set default.
' Display message, title, and default value.
MyValue = InputBox(Message, Title, Default)

End Sub
Avatar billede Greenseeker Praktikant
15. januar 2010 - 11:35 #3
Hej supertekst!

Jeg har ingen erfaringer med userform...

Jeg prøver lige at rode lidt med ovenstående fra "Hjælp".
Avatar billede store-morten Ekspert
15. januar 2010 - 12:14 #4
Her er lidt at starte på:

Sub Test1()

Dim iResultat1
Dim iResultat2
Dim iSvar

iSvar = MsgBox("vil du have 1.gangsinstruktion?", vbYesNoCancel)
If iSvar = vbYes Then
Range("A1").Value = iSvar
End If

If iSvar = vbNo Then
iResultat1 = InputBox("Indtast startdato:", "Start dato", Date)
Range("A2").Value = iResultat1

iResultat2 = InputBox("Indtast initialer:", "Initialer")
Range("A3").Value = iResultat2
End If

End Sub
Avatar billede store-morten Ekspert
15. januar 2010 - 15:03 #5
Lidt mere:

Sub Test2()

Dim iResultat1
Dim iResultat2
Dim iSvar

iSvar = MsgBox("vil du have 1.gangsinstruktion?", vbYesNoCancel)
If iSvar = vbYes Then MsgBox "instruktion"
If iSvar = vbCancel Then Exit Sub
If iSvar = vbNo Then
Range("A1").Value = iSvar

Dato:
iResultat1 = InputBox("Indtast startdato:", "Start dato", Date)
If iResultat1 = "" Then Exit Sub
If Not IsDate(iResultat1) Or Len(iResultat1) < 10 Then MsgBox ("Forkert format eller ingen dato?"): GoTo Dato
Range("A2").Value = iResultat1

Ini:
iResultat2 = InputBox("Indtast initialer:", "Initialer")
If iResultat2 = "" Then Exit Sub
If iResultat2 = "" Then MsgBox ("Du skal indtaste initialer?"): GoTo Ini
Range("A3").Value = iResultat2

End If
End Sub
Avatar billede Greenseeker Praktikant
19. januar 2010 - 14:59 #6
Hej venner!

Mange tak for hjælpen! Jeg har kodet en hulens masse, og nu tror jeg det er på plads! :o)

Jeg er lidt i tvivl om hvem der skal have pointene? Supertekst kom først, men jeg må indrømme at jeg næsten udelukkende har brugt Store-mortens forslag da det var mere specifikt og nemmere at bruge til mit problem...

Hvad siger i?
Avatar billede supertekst Ekspert
19. januar 2010 - 15:04 #7
Store-morten har fortjent dem...
Avatar billede store-morten Ekspert
19. januar 2010 - 17:55 #8
Jamen så siger jeg tak, og lægger et svar.  ;-)
Avatar billede store-morten Ekspert
19. januar 2010 - 17:56 #9
Og selvfølgelig, Velbekomme.
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