Gå til innhold

"Type Mismach" ved Import fra Excel


Anbefalte innlegg

Heisann

 

Jeg forsøker å bruke ADODB til å hente ut verdier fra en Excel "database". En kolonne har numeriske verdier. Men når jeg forsøker å hente de ut vha. koden under får jeg følgende feilmelding:

 

Line 224 : Type mismatch: 'CInt' (-2146828275)

 

vintSort(vintIndex) = CInt(objADORecordset("Sort") & "") + (1000 * vintIndex)

 

Det fungerer fint helt til det kommer en rad uten tall, dvs en tom celle. Hvordan kan jeg ungå at dette skjer?

Lenke til kommentar
Videoannonse
Annonse
Høres ut som om en verdi i raden er for stor for Int datatypen i VBA. Int er 2 byte, bruk Long i stedet. Det vil si at du skal bruke funksjon CLng i stedet for CInt.

 

Takk for svar. Jeg skal forsøke det. Men tallene er mellom 0 og 100 så egentlig skulle jeg vel ikke trenge CLng.

Lenke til kommentar

Nå leste jeg hele posten din. Også der hvor det står at problemet oppstår når cellen er tom.

Hvilken verdi skal du bruke når cellen har "" eller NULL verdi?

 

La meg anta at du vil bytte ut med 0.

Da kan du skrive slik:

 

dim sort as long

.
.
.

sort= iif(len(nz(objADORecordset("Sort"),""))=0,0,cint(objADORecordset("Sort")))
vintSort(vintIndex) = sort + (1000 * vintIndex)

 

 

Hva er forresten poenget med

& ""

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...