< návrat zpět

MS Excel


Téma: Vymazať prázdne riadky k určitému dátumu rss

Zaslal/a 17.2.2017 8:20

kabakaExcel 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)

Příloha: zip34973_spotreba.wall.zip (66kB, staženo 33x)
Zaslat odpověď >

Strana:  1 2 3 4   další »
#034974
avatar
A kde máš v těch tabulkách datum? Kromě záhlaví tabulky, kde je název měsíce, jej nikde nevidím.
P.

Př.:
Sub Smazat_radky_dle_podminky()
Dim i As Long

Application.ScreenUpdating = False

For i = Range("A" & Rows.Count).End(xlUp).Row To 3 Step -1
If Cells(i, 5).Value = "" Then
Rows(i).EntireRow.Delete
End If
Next i

Application.ScreenUpdating = True

End Sub
citovat
#034975
kabaka

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.


Asi som sa nevyjadrila zrozumiteľne.
Myslela som, že makro zistí systémový dátum v PC aj bez udania dátumu.)

Ak je podmienkou zadania dátum, môže figurovať v nejakej bunke. Napr. v bunke J1.

Teda pri otvorení (alebo zatvorení) súboru dňa 28.02.2017 (napr. o 15 30 hod.)

Len neviem akou funkciou by som tam vložila dátum, podľa ktorej by mi vložilo deň posledného aktuálneho mesiaca.

A ešte som zabudla na jednu podmienku, aby nevymazalo tie riadky, kde sú v stĺpci F - výkonycitovat
#034977
elninoslov
príklad zmazania na všetkých listoch pri otvorení súboru.
Příloha: zip34977_spotreba.wall.zip (45kB, staženo 36x)
citovat
#034980
kabaka

elninoslov napsal/a:

príklad zmazania na všetkých listoch pri otvorení súboru.


Genialita, takto by mi to stačilo.
Keby sa ma to v posledný deň mesiaca spýtalo, či chcem alebo nechcem premazať databázu. Super. Ďakujem.

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)citovat
#034983
elninoslov
Plus mínus autobus ...
Příloha: zip34983_spotreba-unor-2017.zip (44kB, staženo 31x)
citovat
#034984
kabaka

elninoslov napsal/a:

Plus mínus autobus ...Příloha: 34983_spotreba-unor-2017.zip


Neviem to otestovať.

Zmenila som v súbore dátum na aktuálny 18.02.2017 aj čas a tabuľka msbox mi nevyskočila. Asi preto, že v tom vašom súbore (spotreba-únor)sú riadky makrom už vymazané, preto mi neponúkne msbox.
Tak som makro prehodila do pôvodného súboru, ale aj tak mi to nefunguje.

Nemá byť náhodou toto nové makro Private Sub Workbook_Open_Test() v This workbook? Mám ho v Module.
Prehodila som ho, ale aj tak mi to nefunguje.

Posielam pôvodný súbor sa Vaším makrom, mohli by ste sa mi na to pozrieť?
Příloha: zip34984_spotreba.wall.zip (68kB, staženo 29x)
citovat
#034991
elninoslov
Akurát, že makro nemôžete len tak kopírovať do akého chcete súboru. Vedel som, že si to nevšimnete :) Pre potreby ukladania súboru (potreba zistenia mesiaca daného súboru), je nutné niekde v liste uchovávať dátum (stačil by aj mesiac). Preto som zmenil rozloženie v prvom riadku, a teraz nieje zlúčená bunka B1:J1, ale iba C1:J1 a do B1 sa ukladá dátum daného mesiaca. Toto je vkladané do prvého listu, ostatné si to kopírujú. Isteže Vám to potom nefungovalo.

Metóda "Workbook_Open_Test()" je tam iba aby ste si to mohli vyskúšať v iný ako posledný deň a po zadanom čase. Pretože klasická metóda zošitu "Workbook_Open" Vám testuje aktuálny dátum a čas. Teda doobeda Vám to neurobí nič, a ani v dátum menší ako posledný deň v mesiaci to neurobí nič. Mohli by ste to dnes otvárať koľko chcete.

Dal som tam aj krátke popisy. Neviem, či by nebolo vhodné robiť pred výmazom riadkov zálohu do nejakého backup súboru v samostatnom adresári, pre istotu, lebo vymazanie a uloženie má za následok nevratnú editáciu dát. Na to nezabúdajme. To sa mi už ale nechce...
Příloha: zip34991_spotreba-unor-2017.zip (73kB, staženo 30x)
citovat
#034993
kabaka

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


Práveže som si všimla, že ste mi zmenili prvý riadok(Ale prehliadla som dátum v bunke B1, to je pravda.) To je ok. Len som zabudla na súvislosť s makrom a presne ako hovoríte makro som nakopírovala do pôvodného súboru, ale bez toho zmeneného prvého riadka,preto to nemohlo fungovať, to je jasné. Čo sa týka testu, som pochopila, že je tam asi preto, aby som to mohla otestovať v iný deň. OK.Záloha nie je potrebná. Každý deň si zálohujem súbor do archívu a tým, že sme na doméne, synchronizujú sa nám priečinky, viem sa teda vrátiť k predchádzajúcim verziám. Ale vďaka za upozornenie.citovat
#034994
kabaka
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.citovat
icon #034995
avatar
Isteze msgbox nevyskakuje. Chce to pochopit, co znamena udalostne makro. Indicia: Existuje udalost Workbook_Open_Test?citovat

Strana:  1 2 3 4   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje