-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
válasz
gobe22 #21548 üzenetére
Az üres sorok törlésével kezd, nem szükséges a kijelölés, azonnal futtatható. Feltételezem, hogy a txt fájlból az adatokat az A1-től kezdve másolod be.
Sub VizszRend()
Dim usor As Long, sor As Long
Application.DisplayAlerts = False
'Üres sorok törlése
Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'Szövegből oszlopok
usor = Application.CountA(Columns(1))
Range("A1:A" & usor).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1)), _
TrailingMinusNumbers:=True
'Rendezés soronként
For sor = 1 To usor
Rows(sor).Select
Selection.Sort Key1:=Range("A" & sor), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Next
'Összefűzés az N oszlopban
Range("N1:N" & usor).FormulaR1C1 = _
"=RC[-13]&"",""&RC[-12]&"",""&RC[-11]&"",""&RC[-10]&"",""&RC[-9]&"",""&RC[-8]&"",""&RC[-7]&"",""&RC[-6]&"",""&RC[-5]&"",""&RC[-4]&"",""&RC[-3]&"",""&RC[-2]"
'N oszlop irányított beillesztése az A-ba
Range("N:N").Copy
Range("A1").PasteSpecial xlPasteValues
'Segédoszlopok törlése
Range("B:N").ClearContents
'Többszörös vesszők törlése
sor = 0
Do While sor < 3
Cells.Replace What:=",,", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
sor = sor + 1
Loop
'Utolsó vessző törlése képlettel a H oszlopba
Range("H1:H" & usor).FormulaR1C1 = _
"=IF(RIGHT(RC[-7],1)="","",LEFT(RC[-7],LEN(RC[-7])-1),RC[-7])"
'H oszlop másolása az A-ba
Range("H:H").Copy
Range("A1").PasteSpecial xlPasteValues
Range("H:H").ClearContents 'H oszlop törlése
Application.DisplayAlerts = False
End Sub -
Delila_1
veterán
válasz
gobe22 #21543 üzenetére
Kicsit sok volt a buktató.
Kijelölöd a tartományt az A oszlopban, és indítod a makrót.Sub VizszRend()
Dim usor As Long, sor As Long
Application.DisplayAlerts = False
'Szövegből oszlopok
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1)), _
TrailingMinusNumbers:=True
'Rendezés soronként
usor = Application.CountA(Columns(1))
For sor = 1 To usor
Rows(sor).Select
Selection.Sort Key1:=Range("A" & sor), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Next
'Összefűzés az N oszlopban
Range("N1:N" & usor).FormulaR1C1 = _
"=RC[-13]&"",""&RC[-12]&"",""&RC[-11]&"",""&RC[-10]&"",""&RC[-9]&"",""&RC[-8]&"",""&RC[-7]&"",""&RC[-6]&"",""&RC[-5]&"",""&RC[-4]&"",""&RC[-3]&"",""&RC[-2]"
'N oszlop irányított beillesztése az A-ba
Range("N:N").Copy
Range("A1").PasteSpecial xlPasteValues
'Segédoszlopok törlése
Range("B:N").ClearContents
'Többszörös vesszők törlése
sor = 0
Do While sor < 3
Cells.Replace What:=",,", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
sor = sor + 1
Loop
'Utolsó vessző törlése képlettel a H oszlopba
Range("H1:H" & usor).FormulaR1C1 = _
"=IF(RIGHT(RC[-7],1)="","",LEFT(RC[-7],LEN(RC[-7])-1),RC[-7])"
'H oszlop másolása az A-ba
Range("H:H").Copy
Range("A1").PasteSpecial xlPasteValues
Range("H:H").ClearContents 'H oszlop törlése
Application.DisplayAlerts = False
End Sub -
Delila_1
veterán
válasz
gobe22 #21530 üzenetére
Több lépésben lehet megoldani.
1. Kijelölöd a tartományt, a Szövegből oszlopok funkcióval oszlopokra bontod a szöveget, ahol határoló jelnek a vesszőt jelölöd be.
2. Újra kijelölöd a kibővült tartományt, Rendezés. Itt az Egyebek-nél a Balról jobbra funkciót választod.
3. Ezután újra összefűzöd az adatokat egy segédoszlopban, közöttük vesszővel: =A1 & "," & B1 & "," & C1 stb., ahány oszlopra bontotta szét a Szövegből oszlopok.
4. A segédoszlopot másolod, és az eredeti helyére illeszted be irányítottan, értékként.
5. Törlöd a feleslegessé vált oszlopokat, csak az A maradjon meg.
Új hozzászólás Aktív témák
- World of Tanks - OFF topic
- A fociról könnyedén, egy baráti társaságban
- PlayStation 5
- Nintendo Switch
- Villanyszerelés
- gban: Ingyen kellene, de tegnapra
- Meghalt a Windows 10, éljen a Windows 10!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Vivo X200 Pro - a kétszázát!
- Anime filmek és sorozatok
- További aktív témák...
- HIBÁTLAN iPhone 14 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3680, 100% Akkumulátor
- Apple iPad air 4 64GB,Újszerű,Dobozával,12 hónap garanciával
- Olcsó Notebook! Dell Latitude E7280! I5 7300U / 8GB DDR4 / 256GB SSD!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- Samsung Galaxy S24 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest