< návrat zpět

MS Excel


Téma: Makro nevymaže údaje v poslednom riadku rss

Zaslal/a 5.2.2021 10:33

kabakaUpravovala som si makro a doplňala.
Potrebovala by som ho trochu učesať.

V prílohe 2 súbory.
1 pred apliáciou a druhý po aplikácii makra.

Po spustení makra mi nevymaže údaje v poslednom riadku, kde je záznam v hárku Zoznam v novovytvorenom súbore (nový mesiac)

VYRIEŠENÉ.
Tak som to vyriešila:

Pridala som toto:

.Cells(22, 10).Resize(54, 10).ClearContents

A vymenila som 7 za 11

.Cells(55, 1).Resize(riadok - 55, 11).ClearContents

.Cells(22, 2).Resize(54, 7).ClearContents
.Cells(22, 10).Resize(54, 10).ClearContents

If riadok - 54 > 0 Then
.Cells(55, 1).Resize(riadok - 55, 11).ClearContents
.Cells(55, 1).Resize(9) = 1
.Cells(55, 9).Resize(9) = WorksheetFunction.Transpose(Array("OK", "NK", "NKJIS", "UK", "ORL", "JORL", "OMFCH", "Očné", "JOCK"))

Příloha: zip49696_wall.zip (439kB, staženo 16x)
Zaslat odpověď >

#049697
elninoslov
O ktoré makro ide?citovat
#049698
kabaka

elninoslov napsal/a:

O ktoré makro ide?


A pardon, ide o makro, ktoré je viazané na tlačítko Ďalší mesiac.citovat
#049700
elninoslov
No ale Vy predpokladám hovoríte o tom, že Vám nevymaže posledný riadok na liste "zoznam". To makro ale práve list "zoznam" má vo výnimkách (funkcia "CheckMesiac"). Makro sa tohto listu nedotkne, tak mi je záhadou, ako Vám môže nevymazať posledný riadok z listu, v ktorom nič nemaže.
A ďalej pozerám, že som dával (to je moje makro) konštantu PRVY_RIADOK, ktorú očividne nikde nepoužívate. Teraz by mala byť asi 22, nie 20. To je ale fuk. Hovorím to len preto, že to naznačuje "nefundované" úpravy :).citovat
#049701
kabaka

elninoslov napsal/a:

No ale Vy predpokladám hovoríte o tom, že Vám nevymaže posledný riadok na liste "zoznam". To makro ale práve list "zoznam" má vo výnimkách (funkcia "CheckMesiac"). Makro sa tohto listu nedotkne, tak mi je záhadou, ako Vám môže nevymazať posledný riadok z listu, v ktorom nič nemaže.
A ďalej pozerám, že som dával (to je moje makro) konštantu PRVY_RIADOK, ktorú očividne nikde nepoužívate. Teraz by mala byť asi 22, nie 20. To je ale fuk. Hovorím to len preto, že to naznačuje "nefundované" úpravy :).


Áno úpravy sú nefundované, lebo ich robím tak ako viem, pretože to neviem. Tak to tak aj vyzerá, konštantu som opravila. Keď aplikujem makro (aktuálne február) tak v novo vytvorenom súbore (marec) ostane nevymazaný posledný záznam v hárku zoznam.citovat
#049702
elninoslov
Prečo konkrétne od 22. riadku mažete presne 55 riadkov?
.Cells(22, 2).Resize(55, 7).ClearContents

Čo sa má nachádzať na 55. riadku?
If riadok - 54 > 0 Then
.Cells(55, 1).Resize(riadok - 55, 7).ClearContents
.Cells(55, 1).Resize(9) = 1
.Cells(55, 9).Resize(9) = WorksheetFunction.Transpose(Array("OK", "NK", "NKJIS", "UK", "ORL", "JORL", "OMFCH", "Očné", "JOCK"))


End If


Prečo musí byť v A nezmazaných vždy presne 33 riadkov? To mi nesedí ani na dni v mesiaci...

Inak v tej kontrole nemôže byť
And (LST <> FaP)
ale
And (LST <> "FaP")
ostatné si preberiem až po odpovediach.citovat
#049703
kabaka

elninoslov napsal/a:


Prečo konkrétne od 22. riadku mažete presne 55 riadkov?
Čo sa má nachádzať na 55. riadku?
Prečo musí byť v A nezmazaných vždy presne 33 riadkov? o mi nesedí ani na dni v mesiaci...


Nechcem mazať presne 55 riadkov.

Od 22. driadku chcem vymazať údaje v rozsahu A:K stĺpec, správne by tam malo byť asi teda 11.
So zachovaním podmieneného formátu pri hodnote 1, rovnako so zachovaním hodnoty kuch,ok,nk,nkjis,uk,orl,jorl,omfch,očné,jock v riadku, kde je hotnota 1.

Tak aby po riadok 54 bola kuch očíslovaná do čísla 33, čo korešponduje s prvým prázdnym riadkom pod tabuľkou vpravo.
Zároveň do čísla 33 ostane aj hodnota kuch. v stĺpci I.

(Áno viem, že je možné ju konvertovať na TABLE ale takto je to dobré.)

A zo zachovaním vzorca "pohlavie" v s tlpci H po riadok 500.
Příloha: png49703_wall.png (47kB, staženo 17x)
49703_wall.png
citovat
#049704
kabaka
Ešte 1 obrázok. V pôvodnom originál súbore som si už upravila podmieniený formát, ktorý mi označí celý riadok. V súbore wall je to označené ručne. Keby tabuľka v pravo bola konvertovaná na TABLE, tým pádom by ju nerozházdalo, po pridaní riadku v tabuľke vľavo.
Příloha: png49704_wall2.png (63kB, staženo 20x)
49704_wall2.png
citovat
#049705
kabaka
nová príloha s novým makrom - už mi to funguje
Příloha: zip49705_wall-nova.zip (255kB, staženo 17x)
citovat
#049706
elninoslov
Jaj keby ste vedela, ako sa mi dnes už nece. Snáď zajtra.
V prípade prerobenia na objekt Tabuľka, treba myslieť na dôsledky. Máte tam zakomponované zisťovanie verzie Excelu, a v prípade nižšej verzie sa ukladá XLS, a nie XLSM! Teda Tabuľka sa znefunkční. Teda z toho že to tam je predpokladám, že to používate cross verziami. atď.citovat
#049707
kabaka

elninoslov napsal/a:

Máte tam zakomponované zisťovanie verzie Excelu, a v prípade nižšej verzie sa ukladá XLS, a nie XLSM! Teda Tabuľka sa znefunkční. Teda z toho že to tam je predpokladám, že to používate cross verziami. atď.


Máme win 10 a office 2007. Takže používam len xlsx a xlsm. Neukladám do nižšej verzie. Nie je na to dôvod.
Dokonca od apríla (asi 2019) mám nový pc.citovat

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