Excel VBA - Worksheets Change

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

Moderátor: Mods_senior

Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Excel VBA - Worksheets Change

Příspěvekod Branscombe » 24 zář 2010 14:47

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 28 x

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel VBA - Worksheets Change

Příspěvekod navstevnik » 24 zář 2010 16:16

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: červen 09
Pohlaví: Muž
Stav:
Offline

Re: Excel VBA - Worksheets Change

Příspěvekod Branscombe » 24 zář 2010 21:58

Super, díky moc za pomoc ... Odzkouším, popřípadě upravím ... Ještě jednou díky ...


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6371
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • Excel - problém se vzorci
    od honzzicek » 28 čer 2023 21:45 » v Kancelářské balíky
    2
    1857
    od honzzicek Zobrazit poslední příspěvek
    01 črc 2023 08:57
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    2058
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    451
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43
  • Excel komparacedvou soborů Příloha(y)
    od teichmann.ondrej » 15 dub 2024 17:26 » v Kancelářské balíky
    11
    3410
    od teichmann.ondrej Zobrazit poslední příspěvek
    22 dub 2024 15:45

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

Kdo je online

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