Dynamická změna oblasti pro Listbox

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

Dynamická změna oblasti pro Listbox

Příspěvek od Branscombe »

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
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: 01 srp 2007 18:10
Bydliště: Pardubice
Kontaktovat uživatele:

Re: Dynamická změna oblasti pro Listbox

Příspěvek od mike007 »

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 113 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 prosím pište do fóra. Od toho tu je.
Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: 11 čer 2009 21:39

Re: Dynamická změna oblasti pro Listbox

Příspěvek od Branscombe »

Díky moc, jsi borec !!
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: 01 srp 2007 18:10
Bydliště: Pardubice
Kontaktovat uživatele:

Re: Dynamická změna oblasti pro Listbox

Příspěvek od mike007 »

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 prosím pište do fóra. Od toho tu je.
Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: 11 čer 2009 21:39

Re: Dynamická změna oblasti pro Listbox

Příspěvek od Branscombe »

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: 29 srp 2008 16:49

Re: Dynamická změna oblasti pro Listbox

Příspěvek od navstevnik »

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
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Ikona napájení v oznamovací oblasti nejde zapnout
    od Minapark » » v Windows 11, 10, 8...
    6 Odpovědi
    5657 Zobrazení
    Poslední příspěvek od petr22
  • Změna dat (dle času), když je PC vypnuté. Jak je to možné?
    od Minapark » » v Windows 11, 10, 8...
    10 Odpovědi
    12260 Zobrazení
    Poslední příspěvek od Minapark
  • Změna poslední číslice ve více číslech najednou
    od Arnold91 » » v Kancelářské balíky
    7 Odpovědi
    11382 Zobrazení
    Poslední příspěvek od Zivan
  • Zkratka na plochu - Změna obnovovací frekvence monitoru - TV (hledám)
    od jkmaxfli » » v Multimédia (filmy, hudba, CDs/DVDs)
    4 Odpovědi
    25218 Zobrazení
    Poslední příspěvek od jkmaxfli

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