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 96 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
  • Dynamická velikost tabulky
    od Funstorm007 » 19 dub 2024 21:01 » v Kancelářské balíky
    0
    999
    od Funstorm007 Zobrazit poslední příspěvek
    19 dub 2024 21:01
  • pomoc v oblasti grafiky
    od showpayne » 07 srp 2023 19:08 » v Vše ostatní (Off topic)
    0
    1610
    od showpayne Zobrazit poslední příspěvek
    07 srp 2023 19:08
  • změna CPU?
    od sign0r » 07 říj 2023 21:32 » v Rady s výběrem hw a sestavením PC
    3
    1712
    od Alferi Zobrazit poslední příspěvek
    07 říj 2023 22:08
  • Změna hesla
    od draxxx » 25 říj 2023 20:49 » v Windows 11, 10, 8...
    0
    1515
    od draxxx Zobrazit poslední příspěvek
    25 říj 2023 20:49
  • Zmena IP adresy
    od ShadowWord:Pain » 15 zář 2023 09:49 » v Sítě - hardware
    11
    2461
    od petr22 Zobrazit poslední příspěvek
    15 zář 2023 12:48

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