prengelo
01.08.13,14:19
Potrebujem rozdelit text z jednej bunky do troch-styroch buniek:

1. Titul, meno, priezvysko
2. Ulica, cislo, mesto, PSC
3. tel, tel, tel


​Cez funkciu text na stlpce mi to akosi nefunguje. Prikladam ukazku.


Vdaka


Doplnene:

Dakujem za pomoc, v tomto pripade mi to trochu pomoze, ale predsa len nevie na toto niekto vyrobit makro ? Neviem rozdelit adresu lebo, adresa moze mat tvar "Frana Krala 9 Košice 04001" a moze mat tvar "Jilemnickeho 12 Kosice 04001". A tam je potoom problem s rozelenim textu. Medzerou prvou druhou ? Databazu miest viem ku kazdemu zoznamu vyrobit. Len potrebujem makro ktore by to vedele separovat. Vdaka.
dafy
01.08.13,19:50
Je to pravdepodobne preto, že v texte sú domiešané normálne medzery char32 a pevné medzery char160. Treba nahradiť pevné medzery normálnymi a potom bude fungovať rozdelenie aj text na stlpce
marjankaj
01.08.13,20:19
Môžeš tam zaškrtnúť aj ako oddeľovacie znaky INE a do políčka vložiť znak ALT+0160. A potom štandardne pokračovať.
prengelo
02.08.13,04:53
Dakujem za pomoc, v tomto pripade mi to trochu pomoze, ale predsa len nevie na toto niekto vyrobit makro ? Neviem rozdelit adresu lebo, adresa moze mat tvar "Frana Krala 9 Košice 04001" a moze mat tvar "Jilemnickeho 12 Kosice 04001". A tam je potoom problem s rozelenim textu. Medzerou prvou druhou ? Databazu miest viem ku kazdemu zoznamu vyrobit. Len potrebujem makro ktore by to vedele separovat. Vdaka.
marjankaj
02.08.13,05:10
No to makro by šlo. Ale musel by si na začiatku každého riadku označiť, ktoré medzery by mali rozdeľovať záznam a ktoré nie.
prengelo
02.08.13,05:18
A vedel by si to makro natukat ? Rozdelovac by som dal skor mesto. lebo na slovensku mam v zozname asi 20 miest. A to by som vedel rocne natukat. To by mi pomohlo. Resp. od konca 5 znakov je cislo, medzra mesto, a zase medzera. Tak to by to slo tiez.
marjankaj
02.08.13,06:56
rozdeľovačom som myslel čiarku alebo bodkočiarku a pod.
dafy
02.08.13,19:20
Načrtol som niečo vo VBA napasuj si to podľa potrieb
Sub rozdel()
Dim NameArray As Variant, RemoveArray As Variant
' by HABO

'rozdelí reťazce napr. tit. meno, priezv. podľa JEDNOZNAČNÉHO identifikátora ktorý
'oddelí logické celky. ak je identifikátor medzera a PSČ obsahuje medzeru, rozdelí PSČ
'na dve časti

'cyklus na 20riadkov treba upraviť, alebo použiť iný typ cyklu
For poc = 2 To 20

'načíta hodnotu
'číslo je číslo stĺpca v ktorom je reťazec na rozdelenie
n = Cells(poc, 6)

'nahradí (nastaví) identifikátory podľa ktorých sa bude reťazec sekať
n = Replace(n, ".", ". ")
n = Replace(n, ",", "")
n = Replace(n, Chr(160), Chr(32)) 'nahradí pevné medzery normálnymi
n = Application.Trim(n) ' vyhádže zbytočné medzery

' rozhodí reťazec na položky poľa podľa medzier
NameArray = Split(n, " ")

' vyhádže niektoré položky momentálne vyremované
' RemoveArray = Array("Ing.", "ďsl.", "RSDr.", "PaeDr.", "JR", "II", "III", "SR", "MR.", "MRS.", "MS.", "DR.", "JR.", "SR.")

' Remove to čo je v poli REMOVE
' For i = 0 To UBound(NameArray)
' For j = 0 To UBound(RemoveArray)
' If UCase(NameArray(i)) = RemoveArray(j) Then NameArray(i) = ""
' Next j
' Next i


' zapíše do buniek v jednom riadku položky z poľa
stl = 7 'od ktorého stĺpca sa bude zapisovať?
For i = 0 To UBound(NameArray)
If NameArray(i) <> "" Then
Cells(poc, stl + i) = NameArray(i)
End If
Next i


'alternatívny zápis do konkrétnych buniek
'Cells(poc, 2) = NameArray(0)
'Cells(poc, 3) = NameArray(1)
'Cells(poc, 4) = NameArray(2)

Next poc
End Sub
marjankaj
03.08.13,13:59
A to sa pýtaš ty ako to máme rozdeliť? Veď ty sa chceš dopracovať k nejakému výsledku.
Ako chceš rozdeliť napríklad toto na ulicu,číslo,mesto,PSČ?

Vstupný areál U.S. STEEL Košice 044 54

Čo má kam patriť?

Tak isto aj ten tvoj príklad, či prvá medzera alebo druhá.

"Frana Krala 9 Košice 04001"

Podľa čoho má to makro "vedieť", čo je medzi jednotlivými medzerami?
prengelo
19.08.13,04:13
No v tomto pripade by rozdelovac mohlo byt kludne mesto. To je tam vzdy. Je mi jednoduhsie natukat do zoznamu 20 miest ako v kazdom riadku doplnat pevnu medzeru.