Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketFjerne tekst ved hentning af data

 Besvar Besvar
Forfatter
Søren 34 Se dropdown
Forum Begynder
Forum Begynder


Medlem: 11.Nov.2010
Land: Danmark
Status: Offline
Point: 2
Direkte link til dette indlæg Emne: Fjerne tekst ved hentning af data
    Sendt: 11.Nov.2010 kl. 10:59
Disapprove Jeg har et problem med et regneark (excel 2007), som henter data fra nettet. Når der hentes data fra den hjemmeside, som jeg skal bruge tal fra, henter excel også tekst fra hjemmesiden og sætter det ind i samme celle, som tallet. I det her tilfælde drejer det sig om kursmål på forskellige aktier og excel henter så samtidig tekst, eksempel "gns. 100,33 kr.". Teksten kan jeg fjerne med guiden "Tekst til kolonner" under data, da der ellers går kage i de beregninger, som jeg senere skal lave på tallet. Men, men, når arket opdateres med "Opdater alle" under data, så henter excel igen teksten ned, så der går kage i alle mine beregninger og diagrammer. Kan det virkelig være rigtigt at der ikke findes en formel til at fjerne tekst fra talværdier, så man kan lave beregninger på tallet?
Til top



Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 11.Nov.2010 kl. 14:44
Hej Søren,
 
Jeg ved ikke om du er bekendt med VBA, for det er nok den løsning som passer bedst til din problemstilling.
Du skal bruge denne kodestump, som gør arbejdet for dig.
 
For at sætte koden ind skal du:
TRYK ALT+F11
I Venstre siden af skærmen, højreklik på THISWORKBOOK, vælg 'Insert' og klik på 'Module'
Kopier koden herfra (Den blå tekst) og sæt den ind i vinduet til højre.
 
Når dette er gjort, har du en ny formel i Excel som hedder: FindTal
 
Hvis du skriver formlen: FindTal(A1) vil formlen finde tallene i cellen A1, hvis der altså er nogen Wink
 
 
Function FindTal(Celle As Range) As Double
Dim Tæller As Integer, i As Integer
Dim Tekst As String, Tal As String, Værdi As String
Tekst = Celle
    For Tæller = Len(Tekst) To 1 Step -1
        Værdi = Mid(Tekst, Tæller, 1)
        If IsNumeric(Værdi) Or Værdi = "," Then
            i = i + 1
            Tal = Mid(Tekst, Tæller, 1) & Tal
            If IsNumeric(Tal) Then
                If CDbl(Tal) < 0 Then Exit For
            Else
                Tal = Replace(Tal, Left(Tal, 1), "", , 1)
            End If
        End If
        If i = 1 And Tal <> vbNullString Then Tal = CDbl(Mid(Tal, 1, 1))
    Next Tæller
FindTal = CDbl(Tal)
End Function
 
//Allan
Til top
Søren 34 Se dropdown
Forum Begynder
Forum Begynder


Medlem: 11.Nov.2010
Land: Danmark
Status: Offline
Point: 2
Direkte link til dette indlæg Sendt: 12.Nov.2010 kl. 22:23
Hej Allan

Jeg kender ikke så meget til VBA, så jeg måtte prøve mig lidt frem med lidt forhindringer, sådan som at arket skal være en makrobaseret filtype, men til min forbløffelse ser det ud til at virke. En noget komplikatet løsning på et rimeligt simpelt problem, men skidt med det, bare det virker.

Tak for hjælpen.

Med venlig hilsen
Søren
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 12.Nov.2010 kl. 22:57
Velbekomme Søren, og tak for din tilbagemelding.
 
Du har ret, det virker lidt vildt at man skal programmere sig ud af denne problemstilling, men desværre kan Excel ikke selv finde et tal som befinder sig midt i en tekst.
 
Jeg håber alligevel du får glæde af funktionen. Jeg kigger dog gladeligt på dit ark hvis du mener at det bør kunne gøres mere simpelt.
 
God aften
 
//Allan
Til top
Søren 34 Se dropdown
Forum Begynder
Forum Begynder


Medlem: 11.Nov.2010
Land: Danmark
Status: Offline
Point: 2
Direkte link til dette indlæg Sendt: 13.Nov.2010 kl. 14:44
Nja, det virker faktisk fint, når først jeg har formlen på plads, så jeg tror ikke at det kan laves ret meget simplere.

Det undrer mig dog, at der ikke findes en præinstalleret formel, som kan fjerne tekst i excel, men det gør der tilsyneladende ikke, mener jeg har haft problemet før ved kopiering af tabeller fra internettet til excel, men kan ikke lige huske om, eller hvordan jeg løste problemet (formentlig blev det løst med en del monofunktionelt arbejde...).

En enkelt anke er, at din beskrivelse ikke matchede helt i excel 2007 (ihvertfald min udgave), men med lidt improvisering gik det.

Med venlig hilsen

Søren
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 13.Nov.2010 kl. 23:25
Hej Søren,
 
Undskyld det med beskrivelsen, Embarrassed netop programmering er svært at forklare for ikke VBA-kyndige og der kan være temmelig meget forskel på opsætningen i de forskellige versioner af Excel, men jeg er da glad for at det lykkedes for dig til sidst.
 
//Allan
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk