elninoslov napsal/a:
Neviem či to chápem správne...
@elinoslov
Ja sa vopred ospravedlňujem.
Poprosím o drobnú úpravu makra.
Mala som 3 súbory, ktoré potrebujem k svojej práci.
1. Zoznam pacientov
2. Mesačná spotreba
3. Konečná spotreba oddelení a kliník
(to potrebujem len na konci mesiaca)
Predtým som tieto tri súbory mala jednotlivo, oddelene. Teraz som sa rozhodla ich dať dokopy, aby som sa nemusela preklikávať z jedného do druhého.
Preto prikladám nový súbor. Nakoľko pôvodný súbor obsahoval len mesačnú spotrebu. Tento obsahuje aj zoznam pacientov aj konečnú spotrebu oddelení a kliník.
Zatiaľ som pridala a skryla pomocný stĺpec E.
Nakoľko makro berie všetky hárky v zošite.
Určite sa to dá v makre ošetriť.)
Makro funguje ako má.
Šlo by to toho vsunúť ešte:
1. vymazať údaje (v riadkoch)zo zoznamu pacientov v rozsahu A12:H43
2 odstrániť riadky zo zoznamu pacientov v rozsahu
A44:J44 (smerom dole)
DOPLNENIE-OPRAVA prikladám nový súbor, v bunke B1 bol zlý rok 1900
elninoslov napsal/a:
Pekne. Nejde mi síce zatiaľ do hlavy ten abs. $B$2 ale pekne.
elninoslov napsal/a:
6. Musel som si kvôli Vám nahodiť virtuálku s XP a Off2003Příloha: 35007_spotreba-unor-2017.zip (190kB, staženo 2x)
AL napsal/a:
Asi nepochopila.
1) Sú tam 3 možnosti, neviem či to je ono,čo ste po mne chceli.
Break : : xlExcel8 : Empty : Variant/Empty : Module1.UlozAVytvorNovyMesiac
Change: : xlExcel8 : Empty : Variant/Empty : Module1.UlozAVytvorNovyMesiac
Watch : : xlExcel8 : Empty : Variant/Empty : Module1.UlozAVytvorNovyMesiac
2)excel 2003 český
3)
Sub Makro1()
'
' Makro1 Makro
' Makro zaznamenané 28.02.2017, Marcel
'
'
ChDir "C:\Documents and Settings\Bugatti\Desktop"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Bugatti\Desktop\Spotreba únor 20171.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
4) súbor mi uložilo bez problémov
Hláška
Len mi vyskočila táto chybová hláška a označila tento riadok
ThisWorkbook.SaveAs Filename:=Subor, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False 'Ulož ako starý mesiac
elninoslov napsal/a:
Samozrejme, že Vám to nefunguje, keď "Skuska_Funkcnosti" spustíte s dátumom 18.2.2017. Nič sa neudeje, lebo 18. nieje posledný deň v mesiaci. Posledným februárovým dňom v tomto roku je 28. ! Nie 18. A ešte pozor na ten čas. Obe podmienky musia byť splnené.
Tak už neviem, kde robím chybu. Stiahla som si posledný súbor. Prepísala som na aktuálny dátum aj čas. A msbox mi nevyskakuje.
Private Sub Workbook_Open()
If (DateSerial(Year(Date), Month(Date) + 1, 1) = Date + 1) And (Time > TimeValue("11:40:00")) Then Call VymazRiadky
End Sub
Private Sub Workbook_Open_Test()
Dim D As Date, C As Date
D = DateValue("18.2.2017") 'Otestovanie na iný dátum (vo "Workbook_Open" sa totiž testuje aktuálny dátum)
C = TimeValue("11:40:00") 'Otestovanie na iný čas (vo "Workbook_Open" sa totiž testuje čas 15:30:00)
If (DateSerial(Year(D), Month(D) + 1, 1) = D + 1) And (Time > C) Then Call VymazRiadky
End Sub
Skúšala som aj 18.02.2017 aj 18.2.2017.
elninoslov napsal/a:
Akurát, že makro nemôžete len tak kopírovať do akého chcete súboru. Vedel som, že si to nevšimnete :)
Metóda "Workbook_Open_Test()" je tam iba aby ste si to mohli vyskúšať v iný ako posledný deň a po zadanom čase.
Neviem, či by nebolo vhodné robiť pred výmazom riadkov zálohu
elninoslov napsal/a:
Plus mínus autobus ...Příloha: 34983_spotreba-unor-2017.zip
elninoslov napsal/a:
príklad zmazania na všetkých listoch pri otvorení súboru.
Pavlus napsal/a:
A kde máš v těch tabulkách datum? Kromě záhlaví tabulky, kde je název měsíce, jej nikde nevidím.
Excel 2003.
Viem vymazať prázdne aj poloprázdne riadky filtrom, aj makrom. Ale potrebovala by som, aby mi automaticky vymazalo riadky podľa prázdnych buniek v stĺpci E(spotreba)k určitému dátumu vždy na konci mesiaca k 30., k 31.(28., 29.)
Ak je podmienka dátum v bunke, môže byť v bunke J1.
Ešte jedna podmienka, nech to nevymaže tie riadky, kde sú v stlpci F-výkony.
DOPLNENIE
Ešte by šlo nato nadviazať?
Aby mi zároveň pri odkliknutí - áno vymazať - vytvorilo kópiu súboru na nový mesiac. Teda - vymazať stĺpec E(spotreba)
použi funkciu SUMIF
SUMIF($A$1:$A$10;$A4;$B$1:$B$10) (spočíta sumu pri slove modrá)
Alebo funkciu SUMIFS(počíta podľa viacerých kritérií), ja mám excel 2003, nemám ju k dispozícií.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.