Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 6 van 6

Onderwerp: Valuta uitlezen uit cel-opmaak of getypte waarde

  1. #1
    Senior Member
    Verenigingslid
    Piet Bom's avatar
    Geregistreerd
    13 november 2010
    Locatie
    Fine Earth
    Vraag is opgelost

    Valuta uitlezen uit cel-opmaak of getypte waarde

    Ik heb een PDF-rapport geconverteerd naar Excel
    Die converter is zo slim, dat als hij 100 EUR leest, maakt hij daar gewoon 100 van met een cel-opmaak: 0 [$EUR]
    Soms maakt hij er een tekst-string van: 100 EUR Die kan je met een formule uitlezen: =Mid(input_string; Search(" ";input_string)+1;99)
    Ik ben op zoek naar een User Defined Function (VBA) of twee formules die me enerzijds het getal geeft en daarnaast de valuta of eenheid.
    In de bijlage zit een voorbeeld dat meer duidelijkheid geeft over het vertrekpunt en de gewenste resultaten.
    Ik zit me nu net af te vragen of er PDF-convertors zijn die je kunt wijsmaken dat hij de letterlijke tekst moet uitlezen en er geen opgemaakte cel van moet maken.
    Ik heb al wat zoek-pogingen gedaan op deze site, maar vond geen passend antwoord.
    Bijgevoegde bestanden Bijgevoegde bestanden
    Met vriendelijke groeten / Kind regards / Mit freundlichen Grüßen / Meilleurs souvenirs / Venlig hilsen / Cordiali saluti / Atentos saludos / Considerações Amáveis / Saygilarimla / مع أطيپ التحيات,
    Piet Bom

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Probeer deze eens met 2 UDF's:
    Extract_Currency_from_Formatted_Cell.xlsb
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Senior Member
    Verenigingslid
    Piet Bom's avatar
    Geregistreerd
    13 november 2010
    Locatie
    Fine Earth
    Wauw, dat is snel, Had je die functies al op voorraad liggen of schud je ze zo uit je mouw
    En hele compacte code. Ik snap ze bijna helemaal, alleen vraag ik me af wat die 0 en 1 tussen haakjes doen ?
    Met vriendelijke groeten / Kind regards / Mit freundlichen Grüßen / Meilleurs souvenirs / Venlig hilsen / Cordiali saluti / Atentos saludos / Considerações Amáveis / Saygilarimla / مع أطيپ التحيات,
    Piet Bom

  4. #4
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Momenteel draag ik korte mouwen en er viel van alles uit
    Die 0 en 1 zijn om te bepalen welk element uit de array die door Split wordt gemaakt terug gegeven moet worden.
    Het kan dus ook nog zo om het nog compacter te maken:
    Code:
    Function CValue(Target As Range) As Long
        CValue = IIf(IsNumeric(Split(Target.Text)(0)), Split(Target.Text)(0), Split(Target.Text)(1))
    End Function
    
    Function CUnit(Target As Range) As String
        CUnit = IIf(IsNumeric(Split(Target.Text)(0)), Split(Target.Text)(1), Split(Target.Text)(0))
    End Function
    Daarnaast gebruik ik van de cel het .Text attribuut.
    Daarin staat wat de gebruiker in de cel ziet staan.
    Dat is dus anders dan de waarde (.Value) of de opmaak (.NumberFormat).
    Laatst aangepast door edmoor : 3 december 2019 om 14:48
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  5. #5
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Het kan nog iets vrolijker:

    Code:
    Function F_snb(c00)
        st = Split(c00.Text)
        F_snb = Array(val(st(IsNumeric(st(1)))), st(Abs(IsNumeric(st(0)))))
    End Function
    Voer de funktie in als een array-formule in Range(K6:L6)

    En naar beneden trekken.
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door snb : 3 december 2019 om 20:32
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  6. #6
    Senior Member
    Verenigingslid
    Piet Bom's avatar
    Geregistreerd
    13 november 2010
    Locatie
    Fine Earth
    @snb,
    Dat is ook een hele mooie functie.
    Ik had even moeite om de juiste array-formule te vinden, maar toch gelukt

    Allebei bedankt voor de oplossingen.
    Ik ga de vraag afsluiten als Opgelost en kan weer verder met de naar Excel geconverteerde PDF

    N.B.: bijlage aangepast i.v.m. privacy
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door Piet Bom : 4 december 2019 om 11:08
    Met vriendelijke groeten / Kind regards / Mit freundlichen Grüßen / Meilleurs souvenirs / Venlig hilsen / Cordiali saluti / Atentos saludos / Considerações Amáveis / Saygilarimla / مع أطيپ التحيات,
    Piet Bom

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren