Avatar billede mile Juniormester
25. august 2003 - 14:04 Der er 10 kommentarer og
2 løsninger

Hjælp til formel eller kode

I kolonne A, har jeg i cellerne nogle lange tekststrenge. Jeg ønsker at søge på flere ting, eks.:

Bugbear
Sobig
Lovesan
MSblaster

osv.

Hvis et af disse søgekriterier indgår i cellen, i kolonne A, så skal jeg i cellen i kolonne B, have returnet alt fra 

(from

og resten af teksten fra cellen i kolonne A.

Er der nogen der er friske ?

Eks:  Bla bla bla bla Bugbear bla bla bla (from bla bla bla.
Avatar billede janvogt Praktikant
25. august 2003 - 15:23 #1
For gammel venskabs skyld .....
Jeg har sendt en hjemmestrikket løsning til dig, som du måske kan bruge.

Hvis du kan bruge det, skal jeg prøve at redegøre for løsningen her.
Avatar billede fobian Nybegynder
25. august 2003 - 15:34 #2
Jeg har lavet en funktion, som du kan kalde fra dit regneark ved at skrive
=SøgTekst(Område;Tekst)

Og placere denne kode i et VBA modul

Function SøgTekst(ByVal Find As Variant, ByVal Tekst As String) As String
For Each x In Find
    c = InStr(1, Tekst, x, vbTextCompare) + c
    Next
    If c > 0 Then
        SøgTekst = Mid(Tekst, InStr(1, Tekst, "from") - 1, Len(Tekst) - InStr(1, Tekst, "from") + 2)
    End If
End Function
Avatar billede fobian Nybegynder
25. august 2003 - 15:47 #3
Jeg glemte vist lige at forklare lidt nærmere om formlen :-)

Hvis du f.eks har dit kriterieområde i c1:c5 og det er teksten i celle a5 du skal teste på, så skriver du i celle b5 følgende:
=søgtekst($c$1:$c$5;a5)
Så returnerer denne funktion det der står fra (from og resten af teksten
Du kan herefter bare kopiere formlen nedad i arket
Avatar billede aheiss Praktikant
25. august 2003 - 16:29 #4
Jeg skulle lige prøve den - og den virker jo upåklageligt.
Men da jeg havde blanke celler i mit område x, var jeg nødt til at tilpasse lidt. Men det var bare lige en kommentar.
___________________________________________
Function SøgTekst(ByVal Find As Variant, ByVal Tekst As String) As String
For Each x In Find
    If VarType(x) > 0 Then
        c = InStr(1, Tekst, x, vbTextCompare) + c
            If c > 0 Then
            SøgTekst = Mid(Tekst, InStr(1, Tekst, "from") - 1, _
Len(Tekst) - InStr(1, Tekst, "from") + 2)
            End If
    End If
Next
End Function
Avatar billede mile Juniormester
26. august 2003 - 08:33 #5
Hej

Både Jans og Fobians løsninger var rigtigt gode. Tak for indsatsen. Jeg har nu valgt Fobians, da den var rimelig hurtigt at klistre ind i mit regneark. Men I skal da begge have nogle points. Jan lægger du lige et svar ??
Avatar billede janvogt Praktikant
26. august 2003 - 08:44 #6
Jo da .... selvom jeg ikke rigtigt kan bruge dem til noget ....
Avatar billede mile Juniormester
26. august 2003 - 08:49 #7
He he med den holdning får Fobian de fleste, men så kan du jo få én på den alternative "tavle".

Tak for hjælpen begge to - jeg har faktisk lært en hel masse af det.
Avatar billede fobian Nybegynder
26. august 2003 - 08:56 #8
Selv tak :-)
Avatar billede janvogt Praktikant
26. august 2003 - 09:08 #9
Fint med mig ..... :-)
Nu må jeg snart kigge forbi fyn ....
Avatar billede mile Juniormester
26. august 2003 - 09:09 #10
Du skal være så velkommen....
Avatar billede fobian Nybegynder
26. august 2003 - 14:11 #11
Hov! - glemte du ikke at lukke spørgsmålet ;-)
Avatar billede mile Juniormester
27. august 2003 - 07:54 #12
Tjo - det mente jeg nu at jeg havde gjort, men pyt en god gerning kan ikke gøres for tit :-)
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