resp. kde bude len jeden datum tak budemat Od 13.5.2014 Do 13.5.2014
a kde budu dva datumy tak bude od 5.6.2014 Do 13.5.2014
a nakoniec len zoradite stlpec Od
.... toto riesenie by vam nestacilo?citovat
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í.
Palooo napsal/a:
a co tak si makrom vytvorit 2 pomocne stlpce kde bude zaciatok a koniec
resp. kde bude len jeden datum tak budemat Od 13.5.2014 Do 13.5.2014
a kde budu dva datumy tak bude od 5.6.2014 Do 13.5.2014
a nakoniec len zoradite stlpec Od
.... toto riesenie by vam nestacilo?
Dingo napsal/a:
Jen poznámka: Když makro přidá 2 sloupce, kopíruje do nich datumy, (inteligentně rozdělí ty s čas.úsekem), seřadí, zase ty 2 sloupce odebere, jak to může ovlivnit konečný výstup?
Palooo napsal/a:
tu som este dorobil to opravovanie datumu ale ked bude 5.5 - 4.5.2014 .... tak k tomu priradi 2014 rok a nie 2013 ... to sa mi uz nechcelo dorabat :)Příloha: 20964_sort2.zip
Opičák napsal/a:
Palooo napsal/a:tu som este dorobil to opravovanie datumu ale ked bude 5.5 - 4.5.2014 .... tak k tomu priradi 2014 rok a nie 2013 ... to sa mi uz nechcelo dorabat :)Příloha: 20964_sort2.zip
u mě je to funkční až po úpravě řádku ve funkci
místo teček musím použít lomítko
aUpravit = StrOd(0) & "/" & StrOd(1) & "/" & aRok
jinak samozřejmě super. já jsem zkusil jinak, je to taky funkční, trochu složitější.
přechod z roku na rok jsem taky neřešilPříloha: 20965_trideni-datumu.zip
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.