< návrat zpět

MS Excel


Téma: VBA: vymaž bunky po zmene hodnôt rss

Zaslal/a 9.9.2019 20:00

Ahojte.

Zrejme pre Vás to bude "s prstom v nose" no ja si neviem dať rady 1
Potreboval by som makro, ktoré :

Do buniek "A1:A10" sa prvotne vložia hodnoty.
Po vložení týchto hodnôt prebehne nejaká operácia - nie je podstatné aká iba opisujem proces.

Potrebujem to, že keď sa v týchto bunkách následne zmenia hodnoty, alebo sa vymažú, tak sa zároveň vymažú aj hodnoty v bunkách "B1:B10"

Je možné použiť pomocné stĺpce.

Ďakujem za akýkoľvek nápad 1

Zaslat odpověď >

#044223
elninoslov
Hodnoty do A vkladá užívateľ alebo makro ?
JE PODSTATNÉ čo je to za operáciu! Robí niečo so stĺpcom A a B? Vypína EnableEvents ? ...
B môže užívateľ alebo iné makro meniť nezávisle na A?
Ak A mení užívateľ, tak za zmenu sa považuje akákoľvek zmena vyvolaná pomocou udalosti listu Worksheet_Change ? Teda aj zmena hodnoty na rovnakú hodnotu? Alebo iba zmena na inú hodnotu ako tam bola? To je zásadný rozdiel v spracovaní, lebo druhý variant vyžaduje odkladanie starých hodnôt do skrytého listu.
atď....
veľmi slabý popiscitovat
#044225
avatar

elninoslov napsal/a:


veľmi slabý popis


Máte pravdu veľmi slabý popis.
Tak skúsim ešte raz.

Stĺpec "A1:A10" - vkladá iba užívaťeľ.
Po vložení číselných hodnôt stlačí užívateľ pripravený button pod ktorým je malé makro, ktoré do stĺpca "B1:B10" vloží vzorec, ktorý má v sebe odkazy na bunky stĺpca "A".
Stĺpec "B" užívateľ nemôže meniť.

Za zmenu stĺpca "A1:A10" sa považuje - prepis buniek (všetkých, alebo aj iba jednej zo zadefinavanej oblasti), vymazanie, prepis aj na rovnakú hodnotu, nakopírovanie iných číselných hodnôt

No a keď prebehne zmena stĺpca "A1:A10" tak by som potreboval, aby sa ten stĺpec "B1:B10" vymazal, aby užívateľ bol znovu nútený vykonať kliknutie buttonom, ktorý nanovo nakopíruje vzorce do stĺpca "B1:B10".citovat
#044226
elninoslov
No asi tomu stále nerozumiem, ale uvidíme...:
Private Sub btnZnovu_Click()
btnZnovu.BackColor = &H8000000F
Range("B1:B10").Formula = "=TODAY()+A1"
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zmena As Range
Set Zmena = Intersect(Range("A1:A10"), Target)
If Not Zmena Is Nothing Then
btnZnovu.BackColor = vbGreen
Zmena.Offset(0, 1).ClearContents
Set Zmena = Nothing
End If
End Sub
Příloha: zip44226_kontrola-novych-hodnt.zip (19kB, staženo 16x)
citovat
#044230
avatar

elninoslov napsal/a:

No asi tomu stále nerozumiem, ale uvidíme...:


Ďakujem.
Pracuje to tak ako som si predstavoval 1

Ešte raz ďakujem.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