Excel - Makro pro vložení aktuálního data při změně řádku
Dobrý den,
Řekněme, že mám makro pro vkládání aktuální data na konkrétní řádek při změny hodnoty
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Row
Case 1
'Ignore first row
Exit Sub
End Select
Select Case Target.Column
Case 3
'Ignore column C
Exit Sub
End Select
Application.EnableEvents = False
Range("C" & Target.Row) = Date
Application.EnableEvents = True
End Sub
Funguje správně, až na jeden problém, že je fixovaný na sloupec C. Pokud teda přidám sloupec, tak to bude stále vkládat do C, což je špatně.
To by však šlo vyřešit tím, že by výběr sloupce nebyl statický, ale udělal bych to pomocí vyhledání "Date" v prvním řádku. A při každém přidání/odebrání sloupce by se to opětovně zavolalo.
Jak to, prosím Vás, upravím, aby to tak fungovalo?
Děkuji
PS. Samozřejmě je tu stále to, co má vlastně vyhledávat, ale to považuji za naprostý detail, kdy vyhledávané slovo snadno změním.
Na ten svoj kód zabudni a miesto neho daj tento:
Ano, teď to funguje přesně jak má.
Mockrát děkuji
Dobrý den,
Chtěl bych obnovit tenhle dotaz, poněvadž až teď jsem zjistil, že makro vykazuje jednu chybu. Pokud kliknu na buňku a dám jednoduše ENTER, čímž se nic nezmění, ale makro to přesto bere jako změnu a aktualizuje datum.
Psát tam, aby ignoroval klávesu ENTER je asi blbost, lepší by bylo, aby porovnal starou a novou hodnotu a nastavil datum pouze při neshodě.
Šlo by to upravit, prosím?
Děkuji
Nnnno tak... upresnime si...
Ak klikneš na bunku a dáš ENTER, určite sa dátum neprepíše.
Pravdepodobne myslíš dvojklik na bunku, čo je vstupom do jej editačného režimu. Takýto vstup samozrejme predpokladá, že budeš hodnotu opravovať...
Ak budeš skutočne opravovať, tak asi zmena dátumu na aktuálny je v poriadku. Veď potrebuješ vedieť, kedy došlo ku zmene údaja, nie?
Ak si sa pomýlil a chceš ponechať pôvodnú hodnotu, tak predsa nestláčaj ENTER ale ESCAPE.
Mimochodom, pravdepodobne si nezaregistroval, že som doriešil aj tvoj iný dotaz: skrývanie stĺpcov pri filtrovaní... Dal som si totiž tú prácu, aby som ti pomohol a zaoberal som sa tým ešte v ďalších riešeniach, ale už ťa to nezaujímalo. Takže sem ani nebudem dávať link na ten tvoj dotaz, tentokrát si daj ty tú prácu s jeho nájdením i nájdením príslušnej odpovede s riešením...
A vôbec... človek po tom ani nevie, či ťa vôbec ešte zaujíma riešenie i tohto dotazu a či sa tým má vôbec zaoberať...