• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

zoek de juiste cel

Status
Niet open voor verdere reacties.

turtel2015

Gebruiker
Lid geworden
13 sep 2015
Berichten
5
uit een xls bestand, welke geconverteerd is naar een xml bestand, krijg ik de volgende data

5197.1108 water 43335.1406 lijm 659.0508 fl7h 11320.2794 pure 23130.4159 cap 200000 lijnz 926662.5767 chloor

deze gegevens staan telkens in een andere cel (is even zoeken in ongeveer 2.000.000 cellen)
zowel in een andere rij als in een andere colom
kan ik deze cel automatisch laten vinden en de gegevens naar een ander tabblad copieren
en kan ik de waardes ( de getallen voor de punt ) uitsplitsen
met de left functie gaat het niet omdat het aantal digits achter de punt telkens verandert

wie weet hier een oplossing voor

gr Fred
 
XML? Of bedoel je xlsx? Of xlsm?
Daarnaast is een voorbeeld documentje altijd het beste om snel een correct antwoord te krijgen.
Kijk ook eens naar de VIND.SPEC, VIND.ALLES en de DEEL functies.
 
Laatst bewerkt:
XML? Of bedoel je xlsx? Of xlsm?
Daarnaast is een voorbeeld documentje altijd het beste om snel een correct antwoord te krijgen.
Kijk ook eens naar de VIND.SPEC, VIND.ALLES en de DEEL functies.

hierbij een deel van et data bestand
 

Bijlagen

Fred, met:
Code:
Sub vind_cel_met_water()
x = Cells.Find(What:="water", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Address
End Sub
vind je snel de eerste cel waar het woord "water" in voorkomt
Voor het overige, neem het advies van @edmoor ter harte.
 
en nu nog verder

alvast tot zover bedankt ,
ik krijg nu met de volgende formule

=ZOEKEN("water";transport!AHC:AHC;transport!AHC:AHC)

het antwoord wat ik zocht.
ben er inmiddels achter dat de data wel altijd in de zelfde kolom staat maar niet op de zelfde regel.
als antwoord krijg ik nu

4182.13078 water 6515.1324 lijm 21613.0008 fl7h 3128.138 pure 11130.238 cap 1380000 lijnz 349568.5621 chloor

in 1 cel wat dan opgesplitst moet worden in
4182 13078 water 6515 1324 lijm 21613 0008 fl7h 3128 138 pure 11130 238 cap 1380000 lijnz 349568 5621 chloor
in dit geval dus in 20 kolommen

wie weet hier de oplossing voor


alvast bedankt

Fred
 
voorbeeld

Plaats even een representatief voorbeeldje.

hierbij een deel van het data bestand
de uitkomst van de eerste formule staat op blad uitwerking cel a1
en deze moet uitgesplits worden in veld b1 t/m b20
 

Bijlagen

Dat kan dit stukje voor je doen:
Code:
Sub SplitCel()
    Dim Inhoud() As String
    Dim i As Integer
    Inhoud = Split(Replace(Cells(1, 1), ".", " "), " ")
    
    For i = 0 To UBound(Inhoud)
        With Cells(i + 1, 2)
            .NumberFormat = "@"
            .Value = Inhoud(i)
        End With
    Next i
End Sub
 
Onnodig quoten is niet nodig.

Wat je eigenlijk wil begrijp ik niet. In de tab 'transport' staat van alles waar ik de logica niet van kan vinden wat doen bv alle 'ONWAAR' in diverse cellen en waar komen deze vandaan? Waarom begint de dataset waarover jouw vraag gaat pas in E18. Waarom is de dataset E18:E21 hetzelfde. Het voorbeeld suggereert ook een tabel te zijn wat het niet is.

Met tekst naar kolommen kan je vrij eenvoudig de data splitsen. Maar ik heb geen idee of dit de bedoeling is.
 

Bijlagen

nog 1 klein puntje

bedankt Edmoor

dit doet precies wat ik wil alleen word de uitkomt weergegeven als tekst en niet als getal,
waardoor alle getallen handmatig omgezet moeten worden van tekst naar getal voordat ik er verder wat mee kan.

de string zoals in het voorbeeld is een van de vele die uitgelezen moet worden en dan zijn het nog heel veel getallen die ik handmatig om moet zetten
 
Dan haal je deze eruit:
.NumberFormat = "@"

En wordt het dit:
Code:
Sub SplitCel()
    Dim Inhoud() As String
    Dim i As Integer
    Inhoud = Split(Replace(Cells(1, 1), ".", " "), " ")
    
    For i = 0 To UBound(Inhoud)
        Cells(i + 1, 2) = Inhoud(i)
    Next i
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan