< návrat zpět

MS Excel


Téma: Spuštění makra na základě změny hodnot v buňce rss

Zaslal/a 6.4.2020 14:40

Dobrý den,

pokouším se napsat VBA kód, který by při změně hodnoty v určité buňce (v mém příkladu K3) spustil určité makro. Na buňku K3 mám navázaný rozevírací seznam o 2 položkách, když je zvolena 1. položka seznamu, v buňce K3 je zapsáno 1, když je zvolena 2. položka seznamu, v buňce K3 je zapsáno 2.

Kód mám zapsaný takto:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyCellRange As Range
Set MyCellRange = Range("K3")

If MyCellRange.Value = 1 Then
Call Macro1

ElseIf MyCellRange.Value = 2 Then
Call Macro2

If Not Application.Intersect(MyCellRange, Range(Target.Address)) _
Is Nothing Then

End If
End Sub


Takto zapsáno mi to ale nefunguje. Potřeboval bych, aby se požadované makro spustilo automaticky pokaždé, když uživatel vybere novou hodnotu rozevíracího seznamu (tzn. při každé změně z 1 na 2, nebo ze 2 na 1).

Děkuji za příp. odpovědi.

Zaslat odpověď >

#046384
elninoslov
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyCellRange As Range
Set MyCellRange = Range("K3")

If Not Intersect(MyCellRange, Target) Is Nothing Then
Select Case MyCellRange.Value
Case 1: Call Macro1
Case 2: Call Macro2
End Select
End If
End Sub

Ak nechcete, aby sa vykonalo makro pri zmene 1->1 (teda rovnakej hodnoty), tak treba niekam ukladať starú hodnotu a porovnať. Napr. do nepoužívanej bunky, alebo na skrytý list, alebo použiť globálnu premennú v module. Viď príloha.
Příloha: zip46384_makro-podla-hodnoty.zip (14kB, staženo 28x)
citovat
#046395
avatar
elninoslov:
Moc děkuji za opravu kódu. Funguje perfektně. Spuštění makra při změně 1 -> 1 mi v mém případě nevadí, ale děkuji za přílohu, kterou si i tak uložím :-)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