< návrat zpět
MS Excel
Téma: adresa buňky na které proběhla změna do proměnné
Zaslal/a adosl 24.6.2014 12:53
Ahoj potřeboval bych radu jak upravit makro, které se spouští po změně hodnoty v určité oblasti. Makro mám zapsané jako for i= 44 to 14 step -1
Problém je,že trvá asi 6 sekund než makro proběhne na všech řádcích, proto potřebuji, aby když proběhne změna na T15, aby se makro spustilo s for i = 16 to 14 step -1
Problém je, že nevím jak dostat do proměnné číslo řádku na kterém proběhla změna.
Díky za rady.
AL(24.6.2014 13:32)#020086 Vo worksheet_change udalosti otestuj Target.Row (to dá to číslo 15 v uvedenom príklade), potom cyklus môže byť napr.
for i = Target.Row + 1 to Target.Row - 1 step -1
citovat
adosl(24.6.2014 15:02)#020091 AL napsal/a:
Vo worksheet_change udalosti otestuj Target.Row (to dá to číslo 15 v uvedenom príklade), potom cyklus môže byť napr.
for i = Target.Row + 1 to Target.Row - 1 step -1
A jak mam proverit to target.row? Cyklus jsem tak uz napsal prislo mi to rozumne, ale nejde to. Cyklus mam v modulu a přes call ho volam z listu přes worksheet_change(byval target as range)
citovat
Palooo(24.6.2014 15:18)#020094 Event worksheet_change sa pusta pri kazdej zmene v bunke
tj. to nieje modul ale event workbooku
citovat
AL(24.6.2014 15:33)#020100 @adosl:
A jak mam proverit to target.row?
Ja neviem, čo si mám predstaviť pod "zmenou hodnoty v určitej oblasti", nie som jasnovidec a tým pádom nevidím prílohu, ktorú si sem nedal. Ale to preverenie sa deje nejako takto napr. Predpokladajme, že chceme testovať zmenu buniek v oblasti A1:B10. Potom test bude vyzerať nasledovne:
V module:
Public x As Long
V kódovom okne Sheetu:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRng As Range
Set myRng = ActiveSheet.[A1:B10]
If Not Intersect(Target, myRng) Is Nothing Then x = Target.Row
End Sub
Do premennej x sa uloží hľadaná hodnota riadku.
V cykle potom:
for i = x + 1 to x - 1 step -1citovat
adosl(24.6.2014 21:54)#020106 Díky AL tak jak jsi to napsal mi helflo úplně nejvíc teď už vím a jede mi přesně to co jsem potřeboval.
citovat