Avatar billede fojensen Nybegynder
05. december 2004 - 21:17 Der er 10 kommentarer og
2 løsninger

problem med at få en variabel defineret i VBA

jeg har problem med at få en variabel defineret i VBA

en af de første linier i scriptet hedder:
Dim InputInit As String

senere hentes en værdi der blev indtastet i userformen med:
If txtInit.Value = True Then  '  txtInit.Value = "folj" iflg. debugger
InputInit = UCase(txtInit.Value) '  InputInit = "" iflg. debugger

hvad kan det være der går galt ???

mvh Folmer
Avatar billede thesurfer Nybegynder
05. december 2004 - 21:20 #1
txtInit er en teksboks, har den vist ikke en True værdi.. den vil ha en "et eller andet"-værdi (dvs, streng).
Avatar billede thesurfer Nybegynder
05. december 2004 - 21:21 #2
Og så hedder det: txtInit.Text
Avatar billede thesurfer Nybegynder
05. december 2004 - 21:22 #3
..men nu har jeg ikke arbejdet med VBA før.. kun VB :-)
Avatar billede fojensen Nybegynder
05. december 2004 - 21:55 #4
både txtInit.Text og txtInit.Value indeholder initialerne "folj" iflg. debuggeren...

og tidligere i scriptet validererer jeg på samme måde et tekstfelt med

If txtHoldnr.Value = True Then
InputHoldnr = "HOLD " & txtHoldnr.Value

men her er indputtet dog et tal
Avatar billede thesurfer Nybegynder
05. december 2004 - 22:18 #5
Hvad er det du gør her?:

If txtHoldnr.Value = True Then
Avatar billede fojensen Nybegynder
05. december 2004 - 23:13 #6
jeg tester om feltet er udfyldt
Avatar billede kabbak Professor
06. december 2004 - 08:42 #7
If txtInit.Text<>"" Then 
InputInit = UCase(txtInit.Text)
Avatar billede fojensen Nybegynder
06. december 2004 - 09:29 #8
Hej igen !
Vil det sige at fejlen skal findes i den måde jeg tester om feltet er udfyldt på ?
Altså hvis feltet er udfyldt så er Value ikke True ?

Nu er jeg desværre ikke på arbejde nu, så jeg kan først afprøve om et par dage, men problemet kunne jo godt skyldes at den slet ikke "tænder" på If txtInit.Value = True Then.

Hvad nu hvis jeg nu kører alle de mulige initialer ind i at array, er det så muligt at teste noget i retning af: If in_array(txtInit.Text) = True Then
- altså teste om txtInit.Text findes i array. Jeg ved slet ikke om der findes sådan en funktion, men den er inspireret af det jeg kender fra php-programmering.

mvh Folmer
Avatar billede thesurfer Nybegynder
06. december 2004 - 23:19 #9
Tænkte det nok... altså, at du testede om der var noget i den..

Hvis det er, kan du enten bruge if txtInit.text <> "" then.. eller f.eks if len(txtInit.text) > 0 then, hvilket betyder "hvis længden af txtInits værdi er større end 0"..

Begge henviser til at indholdet af txtInit ikke er "", som jo har længden 0.

Se de to første indlæg.
Avatar billede fojensen Nybegynder
09. december 2004 - 04:18 #10
I er begge to kommet med nogle gode og lærerige svar...
Ka' i ikke lige smide et svar hver især, så vil jeg dele lidt points ud.

Tak for hjælpen
Avatar billede kabbak Professor
09. december 2004 - 08:31 #11
et svar ;-))
Avatar billede thesurfer Nybegynder
09. december 2004 - 12:35 #12
Roger that :-)
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