Move more blocks (sort by POBxx)

jerry00769

New Member
Joined
Feb 7, 2014
Messages
4
Hello everybody,

I would like to ask you for a help. I try to solve this problem (see both different pctures 1+2).
Picture1 - recieving data before sorting
Picture2 - sorting data manually (needed result)

My idea how to probably solve by VBA is:
1) Sort POB separately by ascending A-Z (min to max)
2) Then last POB move to first position step by step till the end of last POB, but logically with MEB items together.

Is there anybody who can help me with VBA? See to both pictures (mentioned text is Czech, but systematically it doesn't mind). Maybe any function exists for this event.
Thanks so much for your feedback in advance.

BR, Jerry CZ

1718827335799.png
picture2.jpg


Workbook.xlsx
ABCDEFG
1DPOB593ODSTR+ZRIZ.CHODNIKU ASFALT. KRYT MIMO VYKOPM21,3000
2KMEB33MODSTRAN.CHODNIKU ASFALT. KRYT MIMO VYKOPM21,0000
3KMEB34MZRIZENI CHODNIKU ASFALT.KRYT MIMO VYKOPM21,0000
4DPOB592ODSTR+ZRIZ.CHODNIKU ASFALT. KRYT NAD VYKOPM21,3000
5KMEB31MODSTRAN.CHODNIKU ASFALT.KRYT NAD VYKOPEMM21,0000
6KMEB32MZRIZENI CHODNIKU ASFALT.KRYT NAD VYKOPEMM21,0000
7DPOB611ODSTR+ZRIZ.CHODNIKU BETON.DLAZBA MIMO VYKOPM20,5000
8KMEB47MODSTRAN.CHODNIKU BETON.DLAZBA MIMO VYKOPM21,0000
9KMEB48MZRIZENI CHODNIKU BETON.DLAZBA MIMO VYKOPM21,0000
10DPOB610ODSTR+ZRIZ.CHODNIKU BETON.DLAZBA NAD VYKOPM20,2500
11KMEB45MODSTRAN. CHODNIKU BETON.DLAZBA NAD VYKOPM21,0000
12KMEB46MZRIZENI CHODNIKU BETON. DLAZBA NAD VYKOPM21,0000
13DPOB606ODSTR+ZRIZ.CHODNIKU ZAMK. DLAZBA MIMO VYKOPM27,4000
14KMEB38MODSTRAN.CHODNIKU ZAMK. DLAZBA MIMO VYKOPM21,0000
15KMEB39MZRIZENI CHODNIK STAV.ZAMK.DLAZ.MIMOVYKOPM21,0000
16DPOB594ODSTR+ZRIZ.CHODNIKU ZAMK. DLAZBA NAD VYKOPM27,4000
17KMEB35MODSTRAN.CHODNIKU ZAMK.DLAZBA NAD VYKOPEMM21,0000
18KMEB36MZRIZENI CHODNIK STAV.ZAMK.DLAZ.NAD VYKOPM21,0000
19DPOB588ODSTR+ZRIZ.OBRUBNIKU CHODNIKM8,0000
20KMEB20MODSTRANENI OBRUBNIKU CHODNIKM1,0000
21KMEB21MZRIZENI OBRUBNIKU CHODNIKM1,0000
22DPOB616ODSTR+ZRIZ.OBRUBNIKU VOZOVKAM18,0000
23KMEB59MODSTRANENI OBRUBNIKU VOZOVKAM1,0000
24KMEB60MZRIZENI OBRUBNIKU VOZOVKAM1,0000
25DPOB620ODSTR+ZRIZ.VOZOVKY ASFALT. KRYT MIMO VYKOPM217,2000
26KMEB67MODSTRAN. VOZOVKY ASFALT. KRYT MIMO VYKOPM21,0000
27KMEB68MZRIZENI VOZOVKY ASFALT. KRYT MIMO VYKOPM21,0000
28DPOB609ODSTR+ZRIZ.VOZOVKY ASFALT. KRYT NAD VYKOPM214,8000
29KMEB65MODSTRAN.VOZOVKY ASFALT. KRYT NAD VYKOPEMM21,0000
30KMEB66MZRIZENI VOZOVKY ASFALT. KRYT NAD VYKOPEMM21,0000
31DPOB614ODSTR+ZRIZ.VOZOVKY KAMEN.DLAZBA MIMO VYKOPM26,4000
32KMEB77MODSTRAN. VOZOVKY KAMEN.DLAZBA MIMO VYKOPM21,0000
33KMEB78MZRIZENI VOZOVKY KAMEN.DLAZBA MIMO VYKOPM21,0000
34DPOB613ODSTR+ZRIZ.VOZOVKY KAMEN.DLAZBA NAD VYKOPM28,4000
35KMEB75MODSTRAN.VOZOVKY KAMEN.DLAZBA NAD VYKOPEMM21,0000
36KMEB76MZRIZENI VOZOVKY KAMEN.DLAZBA NAD VYKOPEMM21,0000
37DPOB612ODSTR+ZRIZ.VOZOVKY ZAMK. DLAZBA MIMO VYKOPM24,6000
38KMEB72MODSTRAN. VOZOVKY ZAMK. DLAZBA MIMO VYKOPM21,0000
39KMEB73MZRIZENI VOZOVKY STAV.ZAMK.DLAZ.MIMOVYKOPM21,0000
40DPOB621ODSTR+ZRIZ.VOZOVKY ZAMK. DLAZBA NAD VYKOPM21,2000
41KMEB69MODSTRAN.VOZOVKY ZAMK. DLAZBA NAD VYKOPEMM21,0000
42KMEB70MZRIZENI VOZOVKY STAV.ZAMK.DLAZ.NAD VYKOPM21,0000
43DPOB584VOLNÝ TERÉN MIMO VÝKOPM250,7000
44KRDB91MOBNOVA VEGETACNI VRSTVY(ZELEN)MIMO VYKOPM21,0000
45DPOB583VOLNÝ TERÉN NAD VÝKOPM221,9000
46KRDB90MZRIZENI VEGETACNI VRSTVY(ZELEN)NAD VYKOPM21,0000
before


Workbook.xlsx
ABCDEFG
1DPOB583VOLNÝ TERÉN NAD VÝKOPM221,9000
2KRDB90MZRIZENI VEGETACNI VRSTVY(ZELEN)NAD VYKOPM21,0000
3DPOB584VOLNÝ TERÉN MIMO VÝKOPM250,7000
4KRDB91MOBNOVA VEGETACNI VRSTVY(ZELEN)MIMO VYKOPM21,0000
5DPOB588ODSTR+ZRIZ.OBRUBNIKU CHODNIKM8,0000
6KMEB20MODSTRANENI OBRUBNIKU CHODNIKM1,0000
7KMEB21MZRIZENI OBRUBNIKU CHODNIKM1,0000
8DPOB592ODSTR+ZRIZ.CHODNIKU ASFALT. KRYT NAD VYKOPM21,3000
9KMEB31MODSTRAN.CHODNIKU ASFALT.KRYT NAD VYKOPEMM21,0000
10KMEB32MZRIZENI CHODNIKU ASFALT.KRYT NAD VYKOPEMM21,0000
11DPOB593ODSTR+ZRIZ.CHODNIKU ASFALT. KRYT MIMO VYKOPM21,3000
12KMEB33MODSTRAN.CHODNIKU ASFALT. KRYT MIMO VYKOPM21,0000
13KMEB34MZRIZENI CHODNIKU ASFALT.KRYT MIMO VYKOPM21,0000
14DPOB594ODSTR+ZRIZ.CHODNIKU ZAMK. DLAZBA NAD VYKOPM27,4000
15KMEB35MODSTRAN.CHODNIKU ZAMK.DLAZBA NAD VYKOPEMM21,0000
16KMEB36MZRIZENI CHODNIK STAV.ZAMK.DLAZ.NAD VYKOPM21,0000
17DPOB606ODSTR+ZRIZ.CHODNIKU ZAMK. DLAZBA MIMO VYKOPM27,4000
18KMEB38MODSTRAN.CHODNIKU ZAMK. DLAZBA MIMO VYKOPM21,0000
19KMEB39MZRIZENI CHODNIK STAV.ZAMK.DLAZ.MIMOVYKOPM21,0000
20DPOB609ODSTR+ZRIZ.VOZOVKY ASFALT. KRYT NAD VYKOPM214,8000
21KMEB65MODSTRAN.VOZOVKY ASFALT. KRYT NAD VYKOPEMM21,0000
22KMEB66MZRIZENI VOZOVKY ASFALT. KRYT NAD VYKOPEMM21,0000
23DPOB610ODSTR+ZRIZ.CHODNIKU BETON.DLAZBA NAD VYKOPM20,2500
24KMEB45MODSTRAN. CHODNIKU BETON.DLAZBA NAD VYKOPM21,0000
25KMEB46MZRIZENI CHODNIKU BETON. DLAZBA NAD VYKOPM21,0000
26DPOB611ODSTR+ZRIZ.CHODNIKU BETON.DLAZBA MIMO VYKOPM20,5000
27KMEB47MODSTRAN.CHODNIKU BETON.DLAZBA MIMO VYKOPM21,0000
28KMEB48MZRIZENI CHODNIKU BETON.DLAZBA MIMO VYKOPM21,0000
29DPOB612ODSTR+ZRIZ.VOZOVKY ZAMK. DLAZBA MIMO VYKOPM24,6000
30KMEB72MODSTRAN. VOZOVKY ZAMK. DLAZBA MIMO VYKOPM21,0000
31KMEB73MZRIZENI VOZOVKY STAV.ZAMK.DLAZ.MIMOVYKOPM21,0000
32DPOB613ODSTR+ZRIZ.VOZOVKY KAMEN.DLAZBA NAD VYKOPM28,4000
33KMEB75MODSTRAN.VOZOVKY KAMEN.DLAZBA NAD VYKOPEMM21,0000
34KMEB76MZRIZENI VOZOVKY KAMEN.DLAZBA NAD VYKOPEMM21,0000
35DPOB614ODSTR+ZRIZ.VOZOVKY KAMEN.DLAZBA MIMO VYKOPM26,4000
36KMEB77MODSTRAN. VOZOVKY KAMEN.DLAZBA MIMO VYKOPM21,0000
37KMEB78MZRIZENI VOZOVKY KAMEN.DLAZBA MIMO VYKOPM21,0000
38DPOB616ODSTR+ZRIZ.OBRUBNIKU VOZOVKAM18,0000
39KMEB59MODSTRANENI OBRUBNIKU VOZOVKAM1,0000
40KMEB60MZRIZENI OBRUBNIKU VOZOVKAM1,0000
41DPOB620ODSTR+ZRIZ.VOZOVKY ASFALT. KRYT MIMO VYKOPM217,2000
42KMEB67MODSTRAN. VOZOVKY ASFALT. KRYT MIMO VYKOPM21,0000
43KMEB68MZRIZENI VOZOVKY ASFALT. KRYT MIMO VYKOPM21,0000
44DPOB621ODSTR+ZRIZ.VOZOVKY ZAMK. DLAZBA NAD VYKOPM21,2000
45KMEB69MODSTRAN.VOZOVKY ZAMK. DLAZBA NAD VYKOPEMM21,0000
46KMEB70MZRIZENI VOZOVKY STAV.ZAMK.DLAZ.NAD VYKOPM21,0000
after (needed)
 

Excel Facts

Format cells as time
Select range and press Ctrl+Shift+2 to format cells as time. (Shift 2 is the @ sign).
try
Code:
Sub test()
    Dim a, i&, n&
    Application.ScreenUpdating = False
    a = [a1].CurrentRegion.Resize(, 2).Value
    For i = 1 To UBound(a, 1)
        If a(i, 2) Like "POB*" Then
            n = Val(Mid$(a(i, 2), 4))
            a(i, 1) = n
        Else
            a(i, 1) = n + i / (UBound(a, 1) * 100)
        End If
    Next
    Columns(1).Insert
    [a1].Resize(UBound(a, 1)) = a
    [a1].CurrentRegion.Resize(, 8).Sort [a1], 1
    Columns(1).Delete
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
try
Code:
Sub test()
    Dim a, i&, n&
    Application.ScreenUpdating = False
    a = [a1].CurrentRegion.Resize(, 2).Value
    For i = 1 To UBound(a, 1)
        If a(i, 2) Like "POB*" Then
            n = Val(Mid$(a(i, 2), 4))
            a(i, 1) = n
        Else
            a(i, 1) = n + i / (UBound(a, 1) * 100)
        End If
    Next
    Columns(1).Insert
    [a1].Resize(UBound(a, 1)) = a
    [a1].CurrentRegion.Resize(, 8).Sort [a1], 1
    Columns(1).Delete
    Application.ScreenUpdating = True
End Sub

Great job, works perfectly. It helped a lot. Thank you :)
 
Upvote 0

Forum statistics

Threads
1,221,602
Messages
6,160,739
Members
451,669
Latest member
Peaches000

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top