Dynamická změna oblasti pro Listbox Vyřešeno

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

Dynamická změna oblasti pro Listbox

Příspěvekod Branscombe » 11 čer 2009 21:44

Zdravím,
prošel jsem celý internet, ale nikde sem nenalezl odpověď na mou otázku jak vložit proměnou do "ListfillRange" pro listbox.
Přes ovládací prvky si vytvořím seznam (ListBox1) a potřebuji mu přiřadit aby v seznamu byli buňky B1:Bxx ... Nevím kolik bude těch buňek, bude to pokaždé jiné, takže potřebuji vložit proměnou ale nevím jak... :-(
U seznamu z prvků formulářu to vím, ale ne u Ovládacích prvků. :-/
Můžete mi prosím poradit ??
Díky předem
Naposledy upravil(a) mike007 dne 11 čer 2009 23:57, celkem upraveno 1 x.
Důvod: Upřesnění názvu tématu

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Dynamická změna oblasti pro Listbox  Vyřešeno

Příspěvekod mike007 » 12 čer 2009 00:19

Jistě se to dá udělat více způsoby. Osobně bych si pomohl událostní procedurou:

Klikni pravým tlačítkem myši na název záložky a z kontextového menu vyber možnost Zobrazit kód (View Code)
Tímto otevřeš VBA. Do bílého okna napravo zapiš tuto událostní proceduru:


Private Sub worksheet_change(ByVal target As Range)
With target
If .Column = 2 Then
With Sheet1
.ListBox1.List = .Range("b1", .Cells(.Rows.Count, "B").End(xlUp)).Value
End With
End If
End With
End Sub


Do ThisWorkBook vlož toto:

Private Sub workbook_open()
On Error Resume Next
With Sheet1
.ListBox1.List = .Range("B1", .Cells(.Rows.Count, "B").End(xlUp)).Value
End With
On Error GoTo 0
End Sub


Ukázka v příloze.
Přílohy
pc_help-3305.xls
(30 KiB) Staženo 107 x
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

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

Re: Dynamická změna oblasti pro Listbox

Příspěvekod Branscombe » 12 čer 2009 05:50

Díky moc, jsi borec !!

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Dynamická změna oblasti pro Listbox

Příspěvekod mike007 » 12 čer 2009 07:13

jj, není zač.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

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

Re: Dynamická změna oblasti pro Listbox

Příspěvekod Branscombe » 11 bře 2010 16:05

Trošku tápu, jak zapsat VBA kód když chci mít zdroj na jednom listu a listbox na druhém ?? Poradí někdo ??

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

Re: Dynamická změna oblasti pro Listbox

Příspěvekod navstevnik » 11 bře 2010 18:59

ListBox je na prvnim listu, tabulka na druhem:
Do modulu Tento_sesit vloz proceduru:

Kód: Vybrat vše

Option Explicit

Private Sub Workbook_Open()
  On Error Resume Next
  With Worksheets("list2")
    Worksheets("list1").ListBox1.List = .Range("B1", .Cells(.Rows.Count, "B").End(xlUp)).Value
  End With
  On Error GoTo 0
End Sub

a do modulu listu2:

Kód: Vybrat vše

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Column = 2 Then
      With Worksheets("list2")
        Worksheets("list1").ListBox1.List = .Range("b1", .Cells(.Rows.Count, "B").End(xlUp)).Value
      End With
    End If
  End With
End Sub


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Ikona napájení v oznamovací oblasti nejde zapnout Příloha(y)
    od Minapark » 17 pro 2024 20:48 » v Windows 11, 10, 8...
    6
    3970
    od petr22 Zobrazit poslední příspěvek
    09 led 2025 21:48
  • FB - změna hesla
    od Hirogen » 21 čer 2024 15:16 » v Internet a internetové prohlížeče
    1
    4392
    od Grander Zobrazit poslední příspěvek
    21 čer 2024 17:41
  • Změna poskytovatele internetového připojení
    od Fargotroniac » 09 říj 2024 08:15 » v Sítě - hardware
    17
    7236
    od Fargotroniac Zobrazit poslední příspěvek
    12 říj 2024 18:59
  • Zkratka na plochu - Změna obnovovací frekvence monitoru - TV (hledám)
    od jkmaxfli » 31 bře 2025 13:04 » v Multimédia (filmy, hudba, CDs/DVDs)
    4
    9217
    od jkmaxfli Zobrazit poslední příspěvek
    31 bře 2025 19:19

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

Kdo je online

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