• 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.

Deel cel kopieren

Status
Niet open voor verdere reacties.

jasperdouma

Nieuwe gebruiker
Lid geworden
25 jun 2012
Berichten
3
Goedemiddag,

Graag wil ik een deel van een cel naar een andere cel in de zelfde rij kopieren. De positie van het te kopieren gegeven varieert binnen de cel, maar wordt altijd voorafgegaan door de tekst 'Type: '.

Voorbeeld:

'blablabla Type: 2 blablabla'

Nu wil ik het getal 2 uit deze cel in een andere cel zetten. De hoeveelheid blabla varieert. Het getal achter 'Type: ' is varierend 1 t/m 12.

Met LINKS/RECHTS kom ik er niet omdat de positie niet vast is, tekst naar kolommen werkt ook niet omdat een spatie te algemeen is om de gegevens te scheiden. Horizontaal zoeken verteld me alleen of het waar is dat er een gegeven staat... Kom er niet uit dus.

Jullie hulp wordt op prijs gesteld.

Gr.,

Jasper
 
als ik je goed begrijp is de tekst "Type: " wel een zekerheidje? en komt maar 1x voor of je zoekt de eerste? indien je dat allemaal met ja kan beantwoorden

dan werkt onderstaande formule


Code:
=(DEEL(A1;VIND.SPEC("Type:";A1)+6;2)

middels vind.spec zoek je naar de tekst "Type:", deze formule geeft vervolgens de positie waar dat woord begint, vandaar dat ik nog 6 posities erbij tel, dan sta je als het goed is op de startpositie van het nummer. de deel formule doorzoekt in dit voorbeeld de cel A1, de vind.spec+6 geeft de startpositie en de 2 geeft het aantal tekens aan. dus bij 2 zal de uitkomst "2 " dus met spatie erachter, bij 12 is de uitkomst "12"

als alle waarden 2 tm 12 ook als getal moeten worden gezien dan kan je de formule nog iets uitbreiden met de formule waarde() ervoor

Code:
=WAARDE(DEEL(A1;VIND.SPEC("Type:";A1)+6;2))
 
Ik heb een aantal fantastische formules voorbij zien komen die dit soort dingen kunnen. Ik zelf prefereer regular expressions:

excel formule:

=RegExpGet(D31;"Type: (\d+)";1)

De functie kun je toevoegen met VBA:

Code:
Function RegExpGet(ReplaceIn, ReplaceWhat As String, MatchNR As Integer)
    Dim RE As Object
    Dim MC As Object
    Dim M As Object

    Set RE = CreateObject("vbscript.regexp")
    RE.Pattern = ReplaceWhat
    RE.Global = True
    Set MC = RE.Execute(ReplaceIn)
    Set M = MC(0)
    If MatchNR > M.submatches.Count Then
        RegExpGet = ""
    Else
        RegExpGet = M.submatches(MatchNR - 1)
    End If
End Function

ALT-F11 -> invoegen > module -> vervolgens bovenstaande code plakken.
 
Bijna

@Roeljongman; Hartelijk dank voor de -snelle- reactie. Gaat ook bijna helemaal goed... bijna. Het stukje 'Type: [N]' wordt doorgaans gevolgd door een enter. Bij het loslaten van de Code: =(DEEL(A1;VIND.SPEC("Type:";A1)+6;2) ziet dit er in Office 2010 goed uit. In een eerdere office staat er een blokje -de enter- achter het getal. Wanneer ik hier de code =WAARDE(DEEL(A1;VIND.SPEC("Type:";A1)+6;2)) op loslaat geeft elke getal met een blokje er achter een error '#WAARDE#'. Blijkbaar kan hij dus niet goed omgaan met de enter. Is dit op te lossen?

@Wampier; Jij ook hartelijk dank voor je reactie. Ben alleen niet zo een ster met vb en zoek de oplossing meer in een simpele excel code. Mocht ik er toch niet uitkomen dan stort ik me op het vb gebeuren.
 
Moet eerlijk zeggen dat mijn oplossing een beetje overkill is. ik had je originele vraag iets verkeerd gelezen en ik dacht dat er 1 tot 12 getallen volgden, niet 1t/m12 :)

Ikheb niet direct een oudere versie beschikbaar, maar probeer anders eens zo:

=WAARDE(WISSEN.CONTROL(DEEL(A1;VIND.SPEC("Type:";A1)+6;2)))
 
Het is soms een beetje spelen met de formule, het kan zo simpel zijn als =WAARDE(DEEL(A1;VIND.SPEC("Type:";A1)+5;2)), kortom ipv 6 maar 5 karakters optellen bij de gevonden positie. dan staat bij 2 de spatie ervoor ipv erachter en bij 10 eindigt de reeks bij 0 en komt die enter niet in beeld.

en anders moet er nog een formule aan te pas komen om die enter te vinden
 
Hartelijk dank voor de reactie, met de oplossing van Wampier ziet het er mooi uit. Opgelost!
 
Hallo,

En als ik nou het zelfde wil en mijn excel snapt geen Nederlands ;-) maar alleen Engels?

thx.. alvast
 
THX...

Super link, bij favorieten gegooid!

Hartelijk dank, en sterkte in the middle of nowhere...
 
Voor mijn probleem was dit toch maar een halve oplossing, hierbij mijn probleem ;-)

ik heb een cel met daar in: abcde fghij klmn opqrstuvwxyz 4 alfabet
nu wil in een cel ernaast a t/m z kopiëren en "4 alfabet" laten vervallen
het probleem ia alleen dat a t/m z varieert en dus ook a t/m p kan zijn.

:confused: en ik ben maar beperkt in de kennis van excel (maar wel leergierig ;-)
 
hoe kun je de reeksen onderscheiden? Dat is het belangrijkste om te begrijpen. wat is er constant? Zodra er bepaalde constanten zijn kun je meestal wel iets bedenken, maar dan is er meer informatie nodig dan bovenstaand voorbeeld
 
de echte info is:
Gustaaf klimt 30x30 cm 12 afbeeldingen
Salvador Dali 27,5x40,5 cm 8 afbeeldingen
..... enz.
De constante factor is, dat het eindigt met 'afbeeldingen' en er 'cm' in staat..

kun je hier iets mee?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan