Excel - spusteni makra zmenou bunky Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

komin
nováček
Příspěvky: 1
Registrován: červen 13
Pohlaví: Nespecifikováno
Stav:
Offline

Excel - spusteni makra zmenou bunky  Vyřešeno

Příspěvekod komin » 19 čer 2013 12:14

Uz se tu podobny problem resil, ale bohuzel jde o neco jineho nez je ten muj...

Mam dva listy. Na listu1 se zadavaji hodnoty do bunek C20:C27, na listu2 se tyto hodnoty zobrazi v bunkach B2:10 (rozumej B2='list1'!C20) a pak se v dalsich bunkach provadi vypocty. Fungovat by to melo tak, ze uzivatel meni list1 a na list2 se ani nepodiva, ale hodnoty z listu2 pak pouziju v dalsich vypoctech (treba na listu3)

Nastavil jsem si makro pro Resic

Kód: Vybrat vše

Sub Makro_iterace()
'
' Makro_iterace Makro
' iterace uhlu ny
'
    SolverOk SetCell:="$G$30", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$11", Engine _
        :=1, EngineDesc:="GRG Nonlinear"
    SolverSolve UserFinish:=True
End Sub


a nastavil jsem si zachyceni udalosti

Kód: Vybrat vše

Private Sub Worksheet_Calculate()
        Call Makro_iterace
End Sub


Pokud zmenim jakoukoliv bunku (i kdyz nesouvisi s vypoctem) v listu2, tak udalost je zachycena a makro probehne v poradku.

Pokud zmenim hodnoty v listu1, automaticky se mi prepocitaji veskere vypocty v listu2. Dokonce je zachycena i udalost Worksheet_calculate (zkousel sem to pomoci Msgbox), ale bohuzel se makro nespusti.

Toto je moje prvni zkusenost s makry a VBA takze nevim kde je problem. Mate nejake napady proc se to (ne)deje, a co s tim? Budu Vam nadosmrti vdecny

Kdyby to neslo jinak, mohl bych vypocty z listu2 presunout na list1, ale nevim jak zachytit udalost a spustit makro pokud se zmeni obsah pouze nekolika konkretnich bunek (aby se nespoustel solver pri kazde zmene v listu)

--- Doplnění předchozího příspěvku (19 Čer 2013 13:55) ---

Tak problem byl nejspis v tom ze se Resic spoustel na spatnem listu.

Kód: Vybrat vše

Sub Makro_iterace()
'
' Makro_iterace Makro
' iterace uhlu ny
'

    Sheets("List2").Select
    SolverOk SetCell:="$G$30", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$11", Engine _
        :=1, EngineDesc:="GRG Nonlinear"
    SolverSolve UserFinish:=True
    Sheets("List1").Select
End Sub


Sice se ted pri zmene tech nekolika bunek na listu1 samo prepne okno na list2, probehne vypocet resice, a zase se okno prepne na list1, ale to uz je detail. Sice nevim jak to obejit aby se list vizualne nepripinal pri kazde zmene ridich bunek, ale dulezite je ze vse pracuje, tak jak ma :D

--- Doplnění předchozího příspěvku (19 Čer 2013 14:07) ---

Odstranil jsem zachytavani udalosti a makro spoustim tlacitkem. Sice to vyzaduje naprogramovani kontrolni bunky (aby uzivatel vedel jestli je vypocet v poradku, nebo musi spustit makro), ale aspon se makro nespousti pri kazde zmene ridicich bunek.

Doufam ze to pomuze dalsim lidem kteri se setkaji s podobnym problemem 8)

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4823
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12241
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Spuštění PC Příloha(y)
    od Elbeckho » 21 úno 2025 14:27 » v Problémy s hardwarem
    11
    4529
    od Kminek Zobrazit poslední příspěvek
    23 úno 2025 02:14
  • Nedetekován signál (černá obrazovka) při spuštění PC
    od zerbngr » 01 črc 2024 17:37 » v Problémy s hardwarem
    13
    4661
    od petr22 Zobrazit poslední příspěvek
    03 črc 2024 10:36
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4802
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti