ERLANDSEN DATA CONSULTING Excel & VBA Tips   Information in English / Informasjon på engelsk

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

Brukerkommentarer:
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! -

 

Erlandsen Data Consulting     http://www.erlandsendata.no/   
Excel & VBA Tips   Copyright ©1999-2017    Ole P. Erlandsen   All rights reserved
E-post kontaktadresse