Archief - excel probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Dielske

Legacy Member
hallo,

ik heb een probleemke in excel.

Ik ben bezig met het nakijken van een hoop gegevens in excel, maar zit het probleem dat de gegevens die ik download naar excel een combinatie zijn van getallen en letters.

Het probleem is als volgt: ik heb een hele hoop cijferkes die echter starten met een prefix bestaande uit twee letters (+ een paar nullen) en eindigen met een letter.

Nu is mijn vraag: hoe kan ik op een simpele manier die letters (en eventueel die nullen) verwijderen?

een voorbeeldje:


ik download een lijst en krijge dan in excel:

RX00011z
RX00014r
RX00010z
RX00022g
....

Ik heb echter alleen die twee laatste getallen nodig.
Ik zou handmatig telkens die RX en laatste letter kunnen verwijderen (excel laat die overbodide nullen vanzelf wel vallen), maar als je zo 100den getallen moet doen, is dit uiteraard niet echt handig.

Iemand een idee met welke functie je dit kan doen?

Ik weet dat je kan programmeren in VB:
Function LetterOut(rng As Range)
Dim i As Integer
For i = 1 To Len(rng)
Select Case Asc(Mid(rng.Value, i, 1))
Case 0 To 64, 123 To 197
LetterOut = LetterOut & Mid(rng.Value, i, 1)
End Select
Next i
End Function

Hiermee worden alle letters verwijderd... alleen staat de excel die ik gebruik in het nederlands.... Dus ik zoek hier een vertaling van of een andere functie om het op te lossen.

Ik zou bv ook wel kunnen werken met: links of rechts een aantal letters te verwijderen verwijderen via =LINKS(A2; LENGTE(A2)-2) bijvoorbeeld, maar dit is niet echt handig als er op een gegeven moment ook nog lettrs ergens in het midden van de getallen staan.

Ik zou dus graag willen weten hoe je automatisch alle letters kan verwijderen.
ZOals me die engelstalige VBcode.



Iemand een idee?

maxdevis

Legacy Member
ik zou gewoon met links en rechts je letters wegdoen.
nadien kan je eventueel nog een kolom maken en die nieuwe velden delen door 2. als je dan ergens een error ziet, dan weet je dat daar nog een letter inzit.

een alternatief is heel het alfabet met "vervangen" weg doen.

Dielske

Legacy Member
maxdevis zei:
ik zou gewoon met links en rechts je letters wegdoen.
nadien kan je eventueel nog een kolom maken en die nieuwe velden delen door 2. als je dan ergens een error ziet, dan weet je dat daar nog een letter inzit.

een alternatief is heel het alfabet met \"vervangen\" weg doen.

Ik snap wel wat je wil zeggen, maar dat is nogal omslachtig.
Ofwel moet ik eens dringend achter een engelstalige versie gaan.. want die code werkt perfect, maar jammer genoeg niet in de nederlandse versie.


En als alternatief werken met vervagen, door wat zou je dan die letters vervangen? Je moet toch opgeven door wat je ze vervangt? Of kan je het laten vervangen door niets? (zodat het getal gewoon aan elkaar geschreven wordt zonder spatie ofzo?)

Straddle

Legacy Member
Dielske zei:
Ik snap wel wat je wil zeggen, maar dat is nogal omslachtig.
Ofwel moet ik eens dringend achter een engelstalige versie gaan.. want die code werkt perfect, maar jammer genoeg niet in de nederlandse versie.


En als alternatief werken met vervagen, door wat zou je dan die letters vervangen? Je moet toch opgeven door wat je ze vervangt? Of kan je het laten vervangen door niets? (zodat het getal gewoon aan elkaar geschreven wordt zonder spatie ofzo?)

Als je dat met Vervangen wilt doen vrees ik dat je elke letter moet ingeven, dus replace "A" by "" ; replace "B" by "" ; ... Maar dat is veel te omslachtig. Ik zou het met die functie hierboven doen =left(A2; len(A2) ....). Zo los ik het toch altijd op.

Dielske

Legacy Member
Straddle zei:
Als je dat met Vervangen wilt doen vrees ik dat je elke letter moet ingeven, dus replace \"A\" by \"\" ; replace \"B\" by \"\" ; ... Maar dat is veel te omslachtig. Ik zou het met die functie hierboven doen =left(A2; len(A2) ....). Zo los ik het toch altijd op.

Dat zou inderdaad te omslachtig zijn, maar helaas: die formule werkt niet bij mijn nederlandstalige versie van excel...

Ik zou dus de vertaling moeten zoeken.

Iemand een link naar de vertalingen van elke command/functie in excel?

Dielske

Legacy Member
maxdevis zei:
over hoeveel cellen gaat het?

Dat varieert.

Vandaag waren het bv 2300 cellen ongeveer.

Dus je ziet, dat is al iets te veel om handmatig zaken te gaan veranderen.

Vandaag was het nog te doen omdat het enkel het laatste letterke was dat weg moest en de 2index letters vanvoor.

Maar ik kan evengoed cijferreeksen krijgen met wel letters in (tussen) de cijfers.

woebetide

Legacy Member
Misschien is het eenvoudiger om dit te vertalen :

Function MyNum(MyString) As Single
Dim i As Integer
For i = 1 To Len(MyString)
If IsNumeric(Mid(MyString, i, 1)) Then MyNum = MyNum & Mid(MyString, i, 1)
Next i
End Function

woebetide

Legacy Member
Of je kunt de engelse Portable OpenOffice op je PC gebruiken om de functions
te gebuiken.

blacki

Legacy Member
woebetide zei:
Misschien is het eenvoudiger om dit te vertalen :

Function MyNum(MyString) As Single
Dim i As Integer
For i = 1 To Len(MyString)
If IsNumeric(Mid(MyString, i, 1)) Then MyNum = MyNum & Mid(MyString, i, 1)
Next i
End Function

Is niet nodig.

VBA werkt in het engels, ongeacht welke versie je hebt.

@Dielske, in wat programmeer je dat? In module of sheet?

Doe het in module, dan werkt het wel.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan