eiriktb Skrevet 3. november 2015 Del Skrevet 3. november 2015 Hei, På jobb bruker vi et Excelark som ordresystem. Vi gjorde alt manuelt før, så jeg har prøvd å lage en userform for å gjøre hverdagen litt enklere. Userform. Problemt er når man skal fylle ut delelisten. Hvis man ikke fyller ut alt, men f.eks 2 deler får jeg feilmelding i arket. Se nedenfor. Koden i cellene med #Verdi! er f.eks =PRODUKT(J25*B25) (Norsk Excel). Dataen fra tekstboksene til dele-listen sendes slik: .Cells(23, 2).Value = txtPcs1 Så langt skjønner jeg at det blir problemer når tekstboksen sender tall som tekst, men har ingen god løsning på å fikse det. Er også viktig at cellene som ikke har fått tilsendt tekst/tall fra userform/tekstboks er blanke. Håper dere skjønner hva jeg mener og kan komme med noen tips. Lenke til kommentar
ExcelGuru Skrevet 3. november 2015 Del Skrevet 3. november 2015 Bruk Hvisfeil(formel);"") Da blir cella tom hvis formelen feiler Vennlig hilsen Ketil Lenke til kommentar
eiriktb Skrevet 3. november 2015 Forfatter Del Skrevet 3. november 2015 Bruk Hvisfeil(formel);"") Da blir cella tom hvis formelen feiler Vennlig hilsen Ketil Hehe, tusen takk. Så lett, så vakkert. Funka med en gang slik jeg ønsket det. Lenke til kommentar
eiriktb Skrevet 3. november 2015 Forfatter Del Skrevet 3. november 2015 (endret) Bruk Hvisfeil(formel);"") Da blir cella tom hvis formelen feiler Vennlig hilsen Ketil En ting til jeg sliter med. Prøver å samle all dataen fra delelista i en enkelt celle. Koden er som følger. .Cells((LastRow + 1), 10).Value = txtPcs1 & " " & txtDesc1 & ", " & txtPcs2 & " " & txtDesc2 & ", " & txtPcs3 & " " & txtDesc3 & ", " osv til txtDesc10. Problemet her er igjen at hvis man f.eks bare bestiller 2 deler, fylles cellen opp med komma. Er det mulig å formatere på noen måte? Eks. 3 For testing, 1 For testing2, , , , , , , , Grunnen til at det skal i en celle, er eksportering til sql-database. Endret 3. november 2015 av eiriktb Lenke til kommentar
ExcelGuru Skrevet 3. november 2015 Del Skrevet 3. november 2015 'Start gjerne en ny tråd når den forrige er løst 'Legg verdiene i en variabel du kan teste på først D = txtPcs1 & " " & txtDesc1 & ", " & txtPcs2 & " " & txtDesc2 & ", " & txtPcs3 & " " & txtDesc3 & ", " & "," 'Sjekk om du finner to kommaer etter hverandre med space i mellom a= InStr(1, D, ", ,") ' Finner du det, kapper du strengen der du finner den If a Then D = Left(D, a - 1) 'Sjekk også om de to siste tegnene er ", " og fjern dem hvis du finner dem If Right(D, 2) = ", " Then D = Left(D, Len(D - 2)) 'Stapp resten i cella .Cells((Lastrow + 1), 10) = D Lenke til kommentar
eiriktb Skrevet 4. november 2015 Forfatter Del Skrevet 4. november 2015 'Start gjerne en ny tråd når den forrige er løst 'Legg verdiene i en variabel du kan teste på først D = txtPcs1 & " " & txtDesc1 & ", " & txtPcs2 & " " & txtDesc2 & ", " & txtPcs3 & " " & txtDesc3 & ", " & "," 'Sjekk om du finner to kommaer etter hverandre med space i mellom a= InStr(1, D, ", ,") ' Finner du det, kapper du strengen der du finner den If a Then D = Left(D, a - 1) 'Sjekk også om de to siste tegnene er ", " og fjern dem hvis du finner dem If Right(D, 2) = ", " Then D = Left(D, Len(D - 2)) 'Stapp resten i cella .Cells((Lastrow + 1), 10) = D Supert. Takk så mye igjen. Måtte ha to mellomrom mellom komma for å få det til å funke. a= InStr(1, D, ", ,") Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå