|
Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.
Klikk her for å gå til den oppdaterte informasjonen.
InputBox-metoden
Dersom du ønsker å få tak i en opplysning fra brukeren kan du benytte deg av
funksjonen INPUTBOX. Denne viser en liten dialog på skjermen og lar brukeren fylle
inn hva som helst, og returnerer innholdet som tekst.
Av og til ønsker man å kunne bestemme hva brukeren skal få lov til å fylle inn i
stedet for at INPUTBOX-funksjonen skal godta alt brukeren skriver inn. Da kan du
benytte deg av INPUTBOX-metoden.
Eksempel :
Sub BestemBrukerRespons()
Dim bTekst As String, bTall As Integer
' her kommer INPUTBOX-funksjonen :
bTekst = InputBox("Fyll inn en tekst", "Denne godtar alt du skriver")
' her kommer INPUTBOX-metoden :
bTall = Application.InputBox("Fyll inn et tall", "Denne godtar kun tall", , , , , , 1)
MsgBox "Du har fylt inn følgende :" & Chr(13) & _
bTekst & Chr(13) & bTall, , "Resultatet av INPUT-boksene"
End Sub
INPUTBOX-metoden har et tredje argument, Type, som betemmer hva brukeren
skal få lov til å fylle inn i INPUTBOX-dialogen. Type kan være følgende :
Type : |
Resultat som godtas : |
0 |
En formel |
1 |
Et tall |
2 |
Tekst |
4 |
En logisk verdi (True eller False) |
8 |
En cellereferanse, for eksempel et Range-objekt |
16 |
En feilverdi, for eksempel #I/T |
64 |
En matrise av verdier |
Dokumentet er sist oppdatert 2000-02-05 22:18:23
Utskriftsvennlig versjon
Ole P. fra Trondheim skrev (2004-03-02 17:52:06 CET):
|
Re: ny utfordring Dette er dessverre ikke nok informasjon til at jeg kan svare noe konkret på denne problemstillingen.
Sjekk eventuelt tallformatet i cellene.
|
Daniel fra Trondheim skrev (2004-03-02 14:53:03 CET):
|
Denne metoden gav en ny utfordring Takk for tipset, det virket!
Men til min forbauselse dukket et nytt problem opp:
I enkelte celler, der det var inntasting av dato, ble det lagt inn et 'space' før datoinnskrivningen. Dette skjedde tiltross for at jeg oppga 10 som maxlength?
Har du forslag?
Hilsen et fortsatt håpløst tilfelle.........
|
Ole P. fra Trondheim skrev (2004-02-20 22:22:34 CET):
|
Re: Slette problemer Det høres ut som om du har satt tekstboksenes ControlSource til en cellereferanse? Da må du slette innholdet i de "koblede" cellene for at innholdet i tekstboksene skal være tomme når dialogen åpnes.
Dette kan eventuelt gjøres i Initialize-hendelsen til dialogen.
Alternativt kan man la være å koble tekstboksene i dialogen til noen celler i regnearket. I stedet oppdaterer man inn cellene i regnarket når brukeren klikker på OK-knappen i dialogen, f.eks. slik:
Private Sub CommandButton1_Click()
Range("A4").Formula = TextBox1.Text
End Sub
|
Daniel fra Trondheim skrev (2004-02-20 13:54:26 CET):
|
Slette problemer Jeg har en userform med mange ( 12 tekstbokser ), denne skal mate en tabell på et regneark. Problemet er at når jeg starter userformen er tekstboksenen fylt med tallene fra forrige registrering. Hva skal jeg skrive for at userformen skal komme opp med tomme tekstbokser?
Håpløst tilfelle av programmerer
|
Ole P. fra Trondheim skrev (2003-12-31 19:30:46 CET):
|
Re: Lurer på... Du kan f.eks. legge til følgende linje på slutten av eksempelmakroen ovenfor:
Range("A1").Formula = Range("A1").Value + bTall
eller:
ActiveCell.Formula = ActiveCell.Value + bTall
|
Steffen fra Alta, Norge skrev (2003-12-30 03:56:06 CET):
|
Lurer på... Hvordan man kan bruke Inputboxen slik at verdien man legger inn der - plusses på en aktuell celle?
Eks: A1=100 - bruker skriver inn 200 i Inputboxen og trykker OK. Verdien i celle A1 blir 300...
- amatør trenger hjelp! -
|
|
|