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

Bijna in volgorde

Status
Niet open voor verdere reacties.

DANIEL162

Terugkerende gebruiker
Lid geworden
24 feb 2011
Berichten
1.098
Bijna in volgorde oplopend (weerstand 150 R)

Weerstand 82 R
Weerstand 91 R
Weerstand 100 R
Weerstand 130 R
Weerstand 180 R
Weerstand 150 R ???
Weerstand 220 R
Weerstand 100 K
Weerstand 130 K
Weerstand 150 K
Weerstand 180 K
Weerstand 1 M
Weerstand 2 M

Kan dit bovenstaande op volgorde gezet worden met VBA code? In dezelfde kolom
Met R dan de K en daarna de M.

Ik heb enkel hier opgezocht en geprobeerd.
De getallen staan in volgorde maar helaas staan de R,K,M door elkaar.

Weerstand 1 M
Weerstand 2 M
Weerstand 82 R
Weerstand 91 R
Weerstand 100 K
Weerstand 100 R
Weerstand 130 K
Weerstand 130 R
Weerstand 150 K
Weerstand 150 R
Weerstand 180 K
Weerstand 180 R
Weerstand 220 R

mvg Daniel
 
Splits ieder gegeven in 3 kolommen en dan geavanceerd sorteren.
 
Het kan ook.
Maar...
Mijn vraag: Kan dit op volgorde gezet worden met VBA code?
 
Code:
Sub jec()
 With Cells(1, 1).CurrentRegion.Resize(, 3)
    .Resize(, 1).TextToColumns .Cells(1, 1), xlDelimited, , , , , , True
    .Sort .Cells(1, 2), 1, , .Cells(1, 3), 2, , , xlNo
 End With
End Sub
 
Als je office 365 hebt kun je het zo ook nog doen, zonder de cellen te splitten

Code:
=LET(x;XML.FILTEREN("<x><y>"&SUBSTITUEREN(TEKST.COMBINEREN(" ";1;A1:A13);" ";"</y><y>")&"</y></x>";"//y");
y;FILTER(x;ISGETAL(x));
z;KIEZEN(VERGELIJKEN(FILTER(x;(NIET(ISGETAL(x))*(LENGTE(x)=1)));{"R";"K";"M"};0);1;2;3);SORTEREN.OP(A1:A13;z;1;y;1))
 

Bijlagen

Laatst bewerkt:
@Sylvester, Volgens mij gaat die één na laatste waarde in je bestand nog niet goed
 
Code:
Weerstand 1 R
 Weerstand 1.2 R
Weerstand 1.5 R
Weerstand 6.8 R
Weerstand 10 R
Weerstand 18 R
Weerstand 22 R
Weerstand 39 R
Weerstand 47 R
Weerstand 56 R
Weerstand 68 R
Weerstand 75 R
Weerstand 82 R
Weerstand 91 R
Weerstand 100 R
Weerstand 130 R
Weerstand 150 R
Weerstand 180 R
Weerstand 220 R
Weerstand 270 R
Weerstand 300 R
Weerstand 360 R
Weerstand 390 R
Weerstand 470 R
Weerstand 820 R
Weerstand 1.8 K
Weerstand 2 K
Weerstand 2.2 K
Weerstand 2.4 K
Weerstand 2.7 K
Weerstand 3 K
Weerstand 3.3 K
Weerstand 3.6 K
Weerstand 3.9 K
Weerstand 4.3 K
Weerstand 4.7 K
Weerstand 5.6 K
Weerstand 6.8 K
Weerstand 8.2 K
Weerstand 9.1 K
Weerstand 10 K
Weerstand 12 K
Weerstand 15 K
Weerstand 18 K
Weerstand 20 K
Weerstand 22 K
Weerstand 27 K
Weerstand 33 K
Weerstand 39 K
Weerstand 47 K
Weerstand 56 K
Weerstand 68 K
Weerstand 82 K
Weerstand 100 K
Weerstand 130 K
Weerstand 150 K
Weerstand 180 K
Weerstand 200 K
Weerstand 270 K
Weerstand 300 K
Weerstand 390 K
Weerstand 470 K
Weerstand 560 K
Weerstand 680 K
Weerstand 1 M
Weerstand 2 M
Weerstand 3.3 M
Weerstand 4.7 M
Weerstand 10 M

De code van Sylvester werkt goed.
Maar.... een weerstand waar een punt in staat (vb Weerstand 2.4 K wordt 24K)
Is er iets daaraan te veranderen?
 
Laatst bewerkt:
Daniel, als 1,8 M bestaat dan bestaat 1800 K ook

M betekend maal 1000000
K betekend maal 1000

komma gebruiken ipv een punt

als er punten en komma's door elkaar gebruikt worden moet je dat even melden.

vertel eens wat er zo al voor komt.
 
Laatst bewerkt:
Sylvester Ponte.
Weerstand waar een punt in staat (vb Weerstand 2.4 K wordt 24K
Weerstand waar een comma in staat (vb Weerstand 2,4 K wordt 2K)
Zonde punt of comma wert het goed.
Ik gebruik Office 2019 en 365 in Windows 10
 
Sylvester Ponte.
Ik was een beetje te laat.
Je hebt het in post 12 in orde gebracht.
Hartelijk dank.

ook dank aan de andere mededenkers.
mvg Daniel
 
Dan voldoet deze ook :)

Code:
Sub jec()
 Application.ScreenUpdating = False
 With Cells(1, 1).CurrentRegion.Resize(, 4)
    .Replace ".", ","
    .Columns(1).TextToColumns .Cells(1, 2), xlDelimited, , , , , , True
    .Columns(4).Replace "R", 1
    .Columns(4).Replace "K", 2
    .Columns(4).Replace "M", 3
    .Sort .Cells(1, 4), 1, , .Cells(1, 3), 1, , , xlNo
    .Columns(1).Replace ",", "."
    .Offset(, 1).ClearContents
 End With
End Sub
 
JVeer, je schrijft "Dan"..... ,
ik denk dat je bedoeld dat " als 1800 K niet bestaat" . gaat het goed.
 
Laatst bewerkt:
Ja als 1800 K geschreven wordt als 1,8 M.
Lijkt wel zo te zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan