2009
09.04.13,07:51
Dobrý deň
Potrebovala by som doplniť v reťazci pred bodkou a za bodkou dva číselné znaky.
Príklad :
XA1.1
rovná sa
XA01.01
XA1.10
rovná sa
XA01.10
XA2.3.1
rovná sa
XA02.03.01
Ďakujem:)
Potrebovala by som doplniť v reťazci pred bodkou a za bodkou dva číselné znaky.
Príklad :
XA1.1
rovná sa
XA01.01
XA1.10
rovná sa
XA01.10
XA2.3.1
rovná sa
XA02.03.01
Ďakujem:)
2009
09.04.13,06:14
Zabudla som dodať, že vždy sa dopĺňa dopredu 0 pokiaľ je tam iba jedno číslo.
PaloPa
09.04.13,06:55
Napr. takto:
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range
uu = "XA" 'prefix, ktory treba oddelit
Set xRng = Selection
For Each c In xRng
x = c.Value
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
P.
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range
uu = "XA" 'prefix, ktory treba oddelit
Set xRng = Selection
For Each c In xRng
x = c.Value
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
P.
2009
09.04.13,07:25
Napr. takto:
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range
uu = "XA" 'prefix, ktory treba oddelit
Set xRng = Selection
For Each c In xRng
x = c.Value
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
P.
:confused: teraz vidím zadala som otázku zle. Reťazec sa nezačína rovnako. Môže tam byť jeden až viac Alfa znakov. Príklad:
A4.1
A04.01
A8.1.1.1
A08.01.01.01
XC1.3.01
XC01.03.01
Základ je vždy pred bodkou a za bodkou dva numerické znaky. Pokiaľ je tam iba jeden doplň ako prvú 0
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range
uu = "XA" 'prefix, ktory treba oddelit
Set xRng = Selection
For Each c In xRng
x = c.Value
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
P.
:confused: teraz vidím zadala som otázku zle. Reťazec sa nezačína rovnako. Môže tam byť jeden až viac Alfa znakov. Príklad:
A4.1
A04.01
A8.1.1.1
A08.01.01.01
XC1.3.01
XC01.03.01
Základ je vždy pred bodkou a za bodkou dva numerické znaky. Pokiaľ je tam iba jeden doplň ako prvú 0
PaloPa
09.04.13,07:37
Ej veru, nedávaš ty ľahké zadania :)
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range, j, u
Set xRng = Selection
For Each c In xRng
x = c.Value
uu = "" 'prefix, ktory treba oddelit
For j = 1 To Len(x)
u = Mid(x, j, 1)
If (IsNumeric(u)) Or (u = ".") Then
Exit For
Else
uu = uu & u
End If
Next j
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range, j, u
Set xRng = Selection
For Each c In xRng
x = c.Value
uu = "" 'prefix, ktory treba oddelit
For j = 1 To Len(x)
u = Mid(x, j, 1)
If (IsNumeric(u)) Or (u = ".") Then
Exit For
Else
uu = uu & u
End If
Next j
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
2009
09.04.13,08:02
Ej veru, nedávaš ty ľahké zadania :)
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range, j, u
Set xRng = Selection
For Each c In xRng
x = c.Value
uu = "" 'prefix, ktory treba oddelit
For j = 1 To Len(x)
u = Mid(x, j, 1)
If (IsNumeric(u)) Or (u = ".") Then
Exit For
Else
uu = uu & u
End If
Next j
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
:):) Ánóóóó.. Presne toto potrebujem. Vieš každý kvartál spracovávam určité dávky. Majú okolo 18 tisíc riadkov a k dispozícii mám iba Excel. Doteraz som to robila tak, že som delila text na stĺpce podľa bodiek a dopĺňala nulu. Ako za čias Márie Terézie fňuk :mee:.
Máš u mňa čokoládku. Evika
Sub PridajNulu()
'
Dim xRng As Range, uu, x, a, i, c As Range, j, u
Set xRng = Selection
For Each c In xRng
x = c.Value
uu = "" 'prefix, ktory treba oddelit
For j = 1 To Len(x)
u = Mid(x, j, 1)
If (IsNumeric(u)) Or (u = ".") Then
Exit For
Else
uu = uu & u
End If
Next j
x = Mid(x, Len(uu) + 1)
a = Split(x, ".")
For i = LBound(a) To UBound(a)
If Len(a(i)) = 1 Then
a(i) = "0" & a(i)
End If
Next i
c.Value = uu & Join(a, ".")
Next c
End Sub
:):) Ánóóóó.. Presne toto potrebujem. Vieš každý kvartál spracovávam určité dávky. Majú okolo 18 tisíc riadkov a k dispozícii mám iba Excel. Doteraz som to robila tak, že som delila text na stĺpce podľa bodiek a dopĺňala nulu. Ako za čias Márie Terézie fňuk :mee:.
Máš u mňa čokoládku. Evika
PaloPa
09.04.13,08:05
... pošli faxom :-)