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
Dynamická změna oblasti pro Listbox Vyřešeno
- Branscombe
- Level 3
- Příspěvky: 469
- Registrován: červen 09
- Pohlaví:
- Stav:
Offline
Dynamická změna oblasti pro Listbox
Naposledy upravil(a) mike007 dne 11 čer 2009 23:57, celkem upraveno 1 x.
Důvod: Upřesnění názvu tématu
Důvod: Upřesnění názvu tématu
- mike007
- Master Level 7.5
- Příspěvky: 5860
- Registrován: srpen 07
- Bydliště: Pardubice
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Dynamická změna oblasti pro Listbox Vyřešeno
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.
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-help • Jak 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.
• Pravidla fóra PC-help • Jak 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.
- Branscombe
- Level 3
- Příspěvky: 469
- Registrován: červen 09
- Pohlaví:
- Stav:
Offline
Re: Dynamická změna oblasti pro Listbox
Díky moc, jsi borec !!
- mike007
- Master Level 7.5
- Příspěvky: 5860
- Registrován: srpen 07
- Bydliště: Pardubice
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Dynamická změna oblasti pro Listbox
jj, není zač.
Nejlepší hra je Excel!
• Pravidla fóra PC-help • Jak 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.
• Pravidla fóra PC-help • Jak 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.
- Branscombe
- Level 3
- Příspěvky: 469
- Registrován: červen 09
- Pohlaví:
- Stav:
Offline
Re: Dynamická změna oblasti pro Listbox
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 ??
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Dynamická změna oblasti pro Listbox
ListBox je na prvnim listu, tabulka na druhem:
Do modulu Tento_sesit vloz proceduru:
a do modulu listu2:
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
-
- 0
- 999
-
od Funstorm007
Zobrazit poslední příspěvek
19 dub 2024 21:01
-
- 0
- 1610
-
od showpayne
Zobrazit poslední příspěvek
07 srp 2023 19:08
-
- 3
- 1712
-
od Alferi
Zobrazit poslední příspěvek
07 říj 2023 22:08
-
- 0
- 1515
-
od draxxx
Zobrazit poslední příspěvek
25 říj 2023 20:49
-
- 11
- 2461
-
od petr22
Zobrazit poslední příspěvek
15 zář 2023 12:48
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti