Zaslal/a adosl 8.8.2014 9:54
Ahoj potřeboval bych poradit s problémem seřazení řádků s datumy.
Datumy jsou ve sloupci B
v některých řádcích mám datum ve formátu "1.2.2014" a v jiných ve formátu "5.6. - 13.5.2014" když použiju toto makro
Sub seradit()
' seradit Makro
Sheets("ENPPavS").Sort.SortFields.Clear
Sheets("ENPPavS").Sort.SortFields.Add Key:=Range("B13:B100"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"leden,únor,březen,duben,květen,červen,červenec,srpen,září,říjen,listopad,prosinec", DataOption:=xlSortTextAsNumbers
With Sheets("ENPPavS").Sort
.SetRange Range("B13:R100")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
tak mi to sice hodnoty seřadí ale data ve formátu "5.6. - 13.5.2014" to neseřadí a dá na konec
vezkoušel jsem teda načíst hodnoty do pole a ty upravit pomocí funkce na zkrácení data tak, aby byly všechny ve stejném formátu
Sub SeraditData()
' Řadí data
Dim datum() As String
Dim i As Long
Dim pocetRadku As Long
pocetRadku = PrvniPrazdnyRadek - 13
ReDim datum(1 To pocetRadku)
For i = 1 To PrvniPrazdnyRadek - 13
datum(i) = zkratitDatumC(Range("B12").Offset(i).Value())
Debug.Print datum(i)
Next i
End Sub
nevím ale, jak mám data v poli seřadit a navíc opět vypsat seřazené řádky, ale s původními hodnotami tak, aby se mi například datum ve formátu "5.6. - 13.5.2014" nepředělal jen na 13.5.2014. zkoušel jsem nějak aplikovat funkci zkratitDatumC do prvního příkladu ale tam je to zadané jako pole a nevím jak to zapsat, aby se ta funkce použila na každou buňku z pole a také nevím zda by to také neovlivnilo celkový výstup, který musí zůstat v nezměněném formátu.
Děkuji všem co mi ulehčí mé trápení.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.