Excel VBA - Worksheets Change

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

Moderátor: Mods_senior

Odpovědět
Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: 11 čer 2009 21:39

Excel VBA - Worksheets Change

Příspěvek od Branscombe »

Ahoj všem a hlavně návštěvníkovi,

mám problém s automatickou aktualizací listboxů. Potřebuji makro které mi při každé změně buňky "C3" na listu "Main" zaktualizuje listbox "B".
Ve výsledku by to mělo fungovat tak že když vyberu v listboxu název třeba "Višeň", zobrazí se hodnoty v listboxu vedle (P,Q,R,S,T) - dle zdroje na listu "Source".

Myslíte že by to šlo nějak naprogamovat ??

Díky předem ...
Přílohy
test.xlsm
(39.83 KiB) Staženo 35 x
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Excel VBA - Worksheets Change

Příspěvek od navstevnik »

Reseni muze byt nasledujici:
Vyber v listbox nevyvola udalost. Takze je potreba vlozit na list Main do vhodne bunky napr. H2 funkci =NÁHČÍSLO() nebo =DNES(), ktera je pri zmenach na listu volana a pak pouzit udalost Worksheet_Calculate.
Na listu Source jsou vytvoreny pojmenovane oblasti (nazev): Jabloň =Source!$D$2:$D$7 a dalsi. Muzes take pouzit dynamicke pojmenovane oblasti vice viz http://www.officir.ic.cz/chipex04/03/ex ... avani.html

V udalostni procedure vlozene do modulu listu Main:

Kód: Vybrat vše

Option Explicit

Private Sub Worksheet_Calculate()
  With Me
    If .Range("c3").Value <> .Range("i2").Value Then ' je zmena v C3?
      Application.EnableEvents = False
      .Range("i2").Value = .Range("c3").Value ' ulozit novou hodnotu z C3
      .B.ListFillRange = .Range("c3").Value ' vlozit doB.ListFillRange odkaz
      Application.EnableEvents = True
    End If
  End With
End Sub

je vkladana do vlastnosti listboxu B.ListFillRange hodnota z C3. Aby nedochazelo ke zbytecnemu vkladani hodnoty , je testovana zmena obsahu C3 oproti ulozene hodnote v pomocne bunce, zvolil jsem Main!I2.

PS.: Vsechny jine procedury jsem pri overovani deaktivoval, takze je budes muset pripadne prizpusobit, aby nekolidovaly s uvedenym resenim.
Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: 11 čer 2009 21:39

Re: Excel VBA - Worksheets Change

Příspěvek od Branscombe »

Super, díky moc za pomoc ... Odzkouším, popřípadě upravím ... Ještě jednou díky ...
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14494 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7414 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    6214 Zobrazení
    Poslední příspěvek od lubo.
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5999 Zobrazení
    Poslední příspěvek od atari

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