02. februar 2022 - 17:45Der er
1 kommentar og 2 løsninger
VBA Inputbox talformast
Med en VBA makro skal bruger åbne en med tal navngivet konto i Excel. I en inputbox med variabel typen Integer indtastes kontonr. hvorefter makroen søger kontoen. Men tallet der registreres i inputboxen, er formateret som text, dvs med citationstegn før og efter. Uanset om jeg formaterer konto nummer som standard eller tal, kan makroen ikke finde det tal jeg har bedt den søge i inputboxen. Ved trin afspilning kører makroen blot videre i stedet for at registrere det ønskede tal. Min kode ser sådan ud:
dim ktnr as integer [O3].Select ktnr = InputBox(" Indtast konto nummer", " Havnø Mølles Venner", , 12000, 8000) If ktnr > 0 And ktnr < 100 Then GoTo næste GoTo forfra næste: Application.ScreenUpdating = False
Do Until ActiveCell.Value = ktnr ActiveCell.Offset(1, 0).Select If ActiveCell.Value = "" Then
Her er et eksempel... inputboksen er bare tekst, og sådan er det, men hvis du vil have den til en integer, så konverter den... her hopper den retur og stiller spørgsmålet igen, hvis ikke det er et tal...
Du skal ikke bruge funktionen 'InputBox()', men derimod metoden 'InputBox()', med den korrete variable type.
Dim ktnr As Long ktnr = Application.InputBox(Title:="Havnø Mølles Venner", Prompt:="Indtast konto nummer", Default:=123456, Type:=1)
Bemærk, det sidste argument (Type:=). Dette argument findes ikke i funktionen, 'InputBox()', men findes i metoden 'InputBox()', og er det argument, der fortæller, at resultatet skal være et nummer.
PS: Definere ALDRIG dine variabler som 'Integer'. !!!
Tak til jer begge. De 2 forskellige løsninger virker perfekt. Jeg har valgt at bruge Dan Elgaards løsning, den synes enklere. Og så husker jeg variabel definitionen.
Synes godt om
Ny brugerNybegynder
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.