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

Vraag over excel

Status
Niet open voor verdere reacties.

Babbage

Gebruiker
Lid geworden
8 feb 2009
Berichten
16
Hallo,

In een tekst die ik in een hokje in excel gestoken heb, zou ik graag de 1ste, 5de, 9de, ... en (4k+1)ste letter afzonderen in één hokje. Hoe doe je dat?

Alvast bedankt voor de hulp !
 
Code:
=DEEL(A1;1;1)&DEEL(A1;5;1)&DEEL(A1;9;1)

(4k+1)ste letter ?

Mvg

Rudi
 
Post eens een voorbeeldbestandje dat representatief is voor je vraagstelling

Mvg

Rudi
 
Hallo,

In een tekst die ik in een hokje in excel gestoken heb, zou ik graag de 1ste, 5de, 9de, ... en (4k+1)ste letter afzonderen in één hokje. Hoe doe je dat?

Alvast bedankt voor de hulp !

(4k+1)ste letter bedoel je hiermee een hexadecimaal ? het is nu wel 25 jaar geleden dat ik turbo basic en turbo pascal gezien heb , maar dit komt me niet bekend voor :confused:.
 
(4k+1)ste letter bedoel je hiermee een hexadecimaal ? het is nu wel 25 jaar geleden dat ik turbo basic en turbo pascal gezien heb , maar dit komt me niet bekend voor :confused:.
'k Denk dat ik beter nooit met die 4k+1 was begonnen de praten ;) Ik bedoel gewoon de 1ste, 5de, 9de, 13de, ... , 685ste en de 689ste letter van m'n tekst. Met 4k+1 bedoelde ik dus alle plaatsen van letters die hieraan voldoen als k een natuurlijk getal is.
 
'k Denk dat ik beter nooit met die 4k+1 was begonnen de praten ;) Ik bedoel gewoon de 1ste, 5de, 9de, 13de, ... , 685ste en de 689ste letter van m'n tekst. Met 4k+1 bedoelde ik dus alle plaatsen van letters die hieraan voldoen als k een natuurlijk getal is.

Met andere woorden telkens de 4de ( vierde ) letter van je tekst , dan zal er denk ik VBA aan tepas komen , tenzei je de formule van Warme Bakkertje wil vervolledigen tot het einde .
 
Laatst bewerkt:
Je kunt natuurlijk tekst naar kolommen doen en dan overal op de juiste plaats afkappen.
maar met 700 letters is dat te veel werk
Daarom een macro mee laten lopen Je krijgt dan onderstaand.
Code:
Sub Macro1()
'
' Macro1 Macro
'

'
    Range("B2").Select
    Selection.TextToColumns Destination:=Range("B2"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(10, 1), Array(15, 1), Array(20, 1), _
        Array(25, 1), Array(30, 1), Array(35, 1), Array(40, 1), Array(54, 1), Array(58, 1), Array( _
        78, 1), Array(82, 1), Array(89, 1), Array(97, 1), Array(101, 1), Array(106, 1), Array(110, 1 _
        ), Array(114, 1), Array(122, 1), Array(131, 1), Array(146, 1), Array(150, 1), Array(153, 1) _
        , Array(158, 1), Array(162, 1), Array(169, 1), Array(179, 1), Array(187, 1), Array(191, 1), _
        Array(194, 1), Array(197, 1), Array(208, 1), Array(215, 1), Array(218, 1), Array(228, 1), _
        Array(233, 1), Array(241, 1), Array(247, 1), Array(260, 1), Array(264, 1), Array(269, 1), _
        Array(273, 1), Array(285, 1), Array(289, 1), Array(296, 1), Array(303, 1), Array(307, 1), _
        Array(312, 1), Array(316, 1), Array(319, 1), Array(324, 1), Array(340, 1), Array(353, 1), _
        Array(359, 1), Array(364, 1), Array(368, 1), Array(374, 1), Array(379, 1), Array(387, 1), _
        Array(400, 1), Array(403, 1), Array(414, 1), Array(421, 1), Array(426, 1), Array(430, 1), _
        Array(439, 1), Array(445, 1), Array(453, 1), Array(457, 1), Array(468, 1), Array(472, 1), _
        Array(485, 1), Array(489, 1), Array(499, 1), Array(502, 1), Array(506, 1), Array(518, 1), _
        Array(521, 1), Array(532, 1), Array(539, 1), Array(545, 1), Array(550, 1), Array(561, 1), _
        Array(564, 1), Array(568, 1), Array(578, 1), Array(582, 1), Array(585, 1), Array(592, 1), _
        Array(604, 1), Array(619, 1), Array(625, 1), Array(633, 1), Array(636, 1), Array(641, 1), _
        Array(647, 1), Array(650, 1), Array(655, 1), Array(660, 1), Array(666, 1), Array(671, 1), _
        Array(676, 1), Array(680, 1), Array(691, 1), Array(695, 1), Array(698, 1), Array(705, 1), _
        Array(709, 1), Array(717, 1), Array(723, 1), Array(728, 1), Array(732, 1), Array(742, 1), _
        Array(746, 1), Array(749, 1), Array(757, 1), Array(766, 1), Array(770, 1), Array(773, 1), _
        Array(779, 1), Array(784, 1), Array(788, 1), Array(797, 1), Array(805, 1), Array(813, 1), _
        Array(821, 1), Array(825, 1), Array(829, 1)), TrailingMinusNumbers:=True
End Sub
Ik heb hem niet helemaal af gemaakt want dat moet natuurlijk makkelijker kunnen.
Ik ben niet thuis in VBA maar misschien dat iemand dit kan vereenvoudigen.
 
Maar dat is in het Engels; werkt dat dan ook in de Nederlandstalige Excel?
 
Als je niet probeert weet je het niet . VBA taal is nu éénmaal in het Engels
 
Beste,

Het lukt niet als ik het in excel steek. Is er nog een andere mogelijkheid, of niet?

Babbage lees de posting van popipipo
Je kunt natuurlijk tekst naar kolommen doen en dan overal op de juiste plaats afkappen.
maar met 700 letters is dat te veel werk
Daarom een macro mee laten lopen Je krijgt dan onderstaand.
Ik heb hem niet helemaal af gemaakt want dat moet natuurlijk makkelijker kunnen.
 
Zet in cel A6 de volgende formule:
Code:
=DEEL(B$3;(RIJ()-6)*5+1;1)
vervolgens doortrekken naar beneden voor zover nodig.
 
Zet in cel A6 de volgende formule:
Code:
=DEEL(B$3;(RIJ()-6)*5+1;1)
vervolgens doortrekken naar beneden voor zover nodig.

bandito , de vraag was
1ste, 5de, 9de, ... en (4k+1)
bij deze moet je verstaan iedere 4de letter 1-5-9-13-17-21-25-enz..........je bent waarschijnlijk goed opweg :thumb:om tot een oplossing te komen ;).
 
Je kan deze UDF gebruiken:

Code:
Function Letter4(sTekst As String)
Dim lTekstLengte As Long
Dim sDeel As String
Dim i As Long, k As Long
lTekstLengte = Len(sTekst)
i = 0
Do While i * 4 + 1 <= lTekstLengte
    Letter4 = Letter4 & Mid(sTekst, i * 4 + 1, 1)
    i = i + 1
Loop
End Function
 
Laatst bewerkt:
Met deze formule kan het denk ik ook.
 

Bijlagen

Als ik de vraag goed begrijp:
De tekstreeks staat in cel B2
Iedere 4e letter moet in de naastliggende cel geplaatst worden

Code:
Sub tst()
  For j = 1 To Len([b2]) Step 4
    Cells(2, 3 + j \ 4) = Mid([b2], j, 1)
  Next
End Sub
 
TS zal uitsluitsel bieden, maar in alle geval Finch :thumb:-functie

Mvg

Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan