marjankaj No neviem, čo by to makro malo podľa teba robiť?
makro označí oblasť A2:E61 v 3. liste
výstupné údaje - kód a zoradí riadky podľa stĺpca B vzostupne. Následne oblasť A1:E61 skopíruje.
marjankaj a načo slúžia tieto vzorce v treťom liste?
'=IF('vstupné údaje (2)'!A2="";"";'vstupné údaje (2)'!A2)
'=IF('vstupné údaje (2)'!B2="";"";'vstupné údaje (2)'!B2)
nestačilo by ='vstupné údaje (2)'!A2 a ='vstupné údaje (2)'!B2
takto komplikovane cez IF som to urobil z dôvodu, že akonáhle nie je obsiahnutá hodnota v bunke v 1. liste, na ktorú sa dotyčná bunka v 3. liste odkazuje, potom Excel vypíše 0; týmto som predišiel tomu, aby mi vpisoval 0 do buniek v 3. liste, ktoré som chcel prázdne (keďže sa odkazovali na prázdne bunky z 1. listu)
marjankaj Takisto tento vzorec je príliš zložitý.
'=IF(WEEKDAY(C1)=1;"Nedeľa";IF(WEEKDAY(C1)=2;"Pon delok";IF(WEEKDAY(C1)=3;"Utorok";IF(WEEKDAY(C1)=4; "Streda";IF(WEEKDAY(C1)=5;"Štvrtok";IF(WEEKDAY(C1 )=6;"Piatok";IF(WEEKDAY(C1)=7;"Sobota";"s")))))))
skús tento, urobí to isté
'=CHOOSE(WEEKDAY(C1);"nedeľa";"pondelok";"utorok" ;"streda";"štvrtok";"piatok";"sobota")
dík za tip, s choose som sa doposiaľ nestretol
>
jojom: hm, netuším, prečo sa stráca aj makro. Ak to bude stačiť, tak tu je zdrojový kód makra:
Code:
Sub Zoradenie()
'
' Zoradenie Makro
'
'
' Klávesová skratka: Ctrl+Shift+S
'
Range("A2:E61").Select
ActiveWorkbook.Worksheets("výstupné údaje - kód").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("výstupné údaje - kód").Sort.SortFields.Add Key:= _
Range("B2:B61"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder _
:= _
"02011 / 02012,02021 / 02022,02031 / 02032,02045,03011 / 03012,03021 / 03022,03031 / 03032,03041 / 03042,03045,03055,03065,04011 / 04012,04021 / 04022,04031 / 04032,04041 / 04042,04055,04065,05014,05024,06011 / 06012,06011P,06012P,06021 / 06022,06031 / 06032,06041 / 06042,06051 / 06052,06065,06075,07011 / 07012,07021 / 07022,07031 / 07032,07041 / 07042,07055,07065,07075,09014,09011P,09012P,09021 / 09022,09031 / 09032,09031P,09032P,09041 / 09042,09051 / 09052,09054,09061 / 09062,09071 / 09072,09085,09095,44011 / 44012,44021 / 44022,46011 / 46012,46021 / 46022,46031 / 46032,46115,46125,46135,46145,46155,46165,80014" _
, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("výstupné údaje - kód").Sort
.SetRange Range("A2:E61")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1:E61").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-45
End Sub