Avatar billede puppetmaster Nybegynder
16. september 2005 - 10:12 Der er 6 kommentarer og
1 løsning

Splitte tekst plus tælle karakterer

Jeg har i Excel brug for at formattere en del af en celle som en skrifttype og en anden som en anden skrifttype.
Det klarer jeg med koden her:
'*******************************************
    With xlsheet.Cells(j, i + 2).Characters(Start:=1, Length:=9).Font
        .Name = "Code 128AB"
        .FontStyle = "Fed"
        .Size = 36
    End With
    With xlsheet.Cells(j, i + 2).Characters(Start:=10, Length:=5).Font
        .Name = "Verdana"
        .FontStyle = "Fed"
        .Size = 10
    End With
    xlsheet.Rows(RækkeNummer).RowHeight = 45
'*******************************************
(koden afvikles i Access)

Problemet er nu bare at antallet af karakterer ikke er konstant og det havde været rart med et variable i stedet for.

Eksempel på værdier i cellen:
{RF1487ä~ RF1487
{RD585m~ RD585

Gældende for alle mulige værdier er, at de er adskilt i en venstre og højre sektion, separeret af et mellemrum.

Værdien i cellen kommer selvfølgelig fra en variabel fra Access
Hvordan finder jeg ud af hvor mange tegn der er til venstre hhv. til højre for mellemrummet?
Avatar billede claesdamlund Nybegynder
16. september 2005 - 10:41 #1
InStr(Værdi, " ")  giver dig positionen for det første mellemrum fra venstre side i Værdi.
IStrOmv(Værdi, " ")  giver dig positionen for det første mellemrum fra højre side i Værdi.
Avatar billede puppetmaster Nybegynder
16. september 2005 - 10:42 #2
Så mangler jeg bare en stump der tæller antallet af karakterer.
Avatar billede claesdamlund Nybegynder
16. september 2005 - 12:09 #3
Len(Tekststreng)
Avatar billede puppetmaster Nybegynder
16. september 2005 - 12:11 #4
Ja, den fandt jeg også for et stykke tid siden, sorry den manglende tilbagemelding.
Smid et svar, claes.
Avatar billede claesdamlund Nybegynder
16. september 2005 - 12:12 #5
Prøv med:

Left(Værdi, Instr(Værdi, " ") -1)  Giver dig alt til venstre for mellemrummet.
Mid(Værdi, Instr(Værdi, " ") + 1)  Giver dig alt til Højre for mellemrummet.
Avatar billede claesdamlund Nybegynder
16. september 2005 - 12:14 #6
Havde ikke set din seneste kommentar, men måske du kan bruge funktionerne jeg beskrev til sidst?
Avatar billede puppetmaster Nybegynder
16. september 2005 - 12:16 #7
Well, der er altid kun 2 parts af variablen, så jeg smider det i et array og checker hvor lange de 2 elementer er:

myArray = Split(myVariable, " ")
myVariableLeft = Len(myArray(0))
myVariableRight = Len(myArray(1))
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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