< návrat zpět
MS Excel
Téma: Přeuspořádání dat ze sloupce do řádku ![rss](./plugins/templates/wall_2C/images/icons/rss.png)
Zaslal/a Paul123 2.12.2019 16:28
Dobrý den,
prosím o radu jak přeuspořádat data.
Data mám v jednom sloupečku, v každé buňce postupně číslo des. tečka číslo číslo číslo středník a tyto bloky pořád dokola (cca 18000 řádků) a potřeboval bych je "narovnat" do řádku aby v každé buňce nového řádku byl tento blok sloučený do jednoho čísla atd.
Věřím že to jde nějak jednoduše udělat přes makro nebo VBA ale nejsem v tom tak kovaný..
Díky za každý nápad
V přiloze jsou data i naznačené řešení
Příloha:
45160_data1.xlsx (133kB, staženo 28x)
marjankaj(2.12.2019 18:36)#045163 ![avatar](./pictures/avatars/no-avatar.jpg)
Tak bez makra.
Treba riadky skopírovať do konca.
Příloha:
45163_kopia-45160_data1-1.xlsx (236kB, staženo 30x) citovat
Stalker(2.12.2019 20:04)#045164 ![Stalker](./pictures/avatars/5a84a0f55ed4d.jpg)
Makrem
Příloha:
45164_data1.zip (110kB, staženo 25x) citovat
Paul123(3.12.2019 1:37)#045165 ![avatar](./pictures/avatars/no-avatar.jpg)
Díky moc, funguje oboje!
Vzorce jsou pěkné, ale makro se mně líbí trochu víc.
Ještě jednou dík oběma.
citovat
![elninoslov](./pictures/avatars/5a6387658a0f4.jpg)
Ten prevod na hodnoty by sa dal urobiť aj inak (Transpose funguje správne iba do 32767 riadkov):
Sub pokus()
Dim D() As String, V(), r As Long, rv As Long, Riadkov As Long
With List1
Riadkov = .Cells(Rows.Count, 1).End(xlUp).Row - 1
D = Split(Replace(Join(Application.Transpose(.Cells(2, 1).Resize(Riadkov).Value)), " ", ""), ";")
ReDim V(1 To Riadkov, 1 To 2)
On Error Resume Next
For r = 0 To UBound(D) Step 2
rv = rv + 1
V(rv, 1) = Val(D(r)): V(rv, 2) = Val(D(r + 1))
Next r
.Cells(2, 4).Resize(Riadkov, 2).Value = V
End With
End Subcitovat