změna rowsource u comboboxu při načtení formuláře Vyřešeno

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

Moderátor: Mods_senior

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

změna rowsource u comboboxu při načtení formuláře  Vyřešeno

Příspěvekod m.niki » 29 led 2011 23:34

Zdravím všechny, mám problém s vlastností Rowsource u comboboxu, potřebuji, aby jeho obsahem byly položky nacházejí se o 8 sloupců vlevo od textu OK, vyhledávaného v oblasti J2:J2000, zkoušel jsem různě ale marně, až mě napadá, jestli zdrojem vůbec může být nespojitá oblast.

Kód: Vybrat vše

Private Sub UserForm_Initialize()
Dim aa22 As Worksheet
Dim aa22aa, aa22bb, aa22cc,a2 As Range

Set aa22 = Worksheets("odběratelé")

Set aa22aa = aa22.Range("j2:j2000")

For Each a2 In aa22aa
    If a2.value = "OK" Then
    On Error GoTo prvni
    Set aa22bb = Union(aa22bb, a2)
    GoTo dalsi
prvni:
    Set aa22bb = a2
dalsi:
   
    End If
Next a2
aa22cc = aa22bb.Offset(0, -8)

vyber.RowSource = aa22cc

End Sub


nevíte jak na to?

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

Re: změna rowsource u comboboxu při načtení formuláře

Příspěvekod navstevnik » 30 led 2011 09:02

Ve VBA odkaz ve vlastnosti UserForm1.Combobox1.RowSource musi odkazovat na souvislou oblast v jednom sloupci, jinak chyba "RunTime error 380: Could not set the RowSorce property. Invalid property value."
Konstrukce kodu VBA:
- odkazem je pojmenovana oblast RSource - staticka nebo dynamicka:

Kód: Vybrat vše

...
  With UserForm1
    .ComboBox1.RowSource = "RSource"
    ...
  End With
...

- odkazem je definovana oblast na zadanem listu:

Kód: Vybrat vše

...
  Dim aaa As Range
...
  ' definovat souvislou oblast aaa ve sloupci
...
  With UserForm1
     ' nazev listu & adresa bloku
    .ComboBox1.RowSource = "list1!" & aaa.Address
    ...
  End With
...

Ps.: pokus zadat do vlastnosti RowSource primo nespojitou oblast List1!A1:A10;List1!A20:A30 skonci nejspis padem editoru VBA

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: změna rowsource u comboboxu při načtení formuláře

Příspěvekod m.niki » 30 led 2011 11:54

díky za vysvětlení návštěvníku, zkusím při načtení UserForm položky seřadit podle sloupce J, pak by měla být oblast souvislá, uvidím jak to dopadne

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

Re: změna rowsource u comboboxu při načtení formuláře

Příspěvekod navstevnik » 30 led 2011 14:09

Jeste muzes pouzit tuto konstrukci:

Kód: Vybrat vše

...
Dim Wsht As Worksheet
Dim Blk As Range
...
Set Wsht = ActiveWorkbook.Worksheets("list1")
...
Set Blk = Wsht.Range("a1:a10")
With UserForm1
.ComboBox1.RowSource = Blk.Parent.Name & "!" & Blk.Address
...
End With
...


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel VBA funkčnost comboboxu aby vypsal určitý řetězec Příloha(y)
    od Marines93 » 29 srp 2024 09:02 » v Kancelářské balíky
    2
    3332
    od Marines93 Zobrazit poslední příspěvek
    09 zář 2024 09:38
  • FB - změna hesla
    od Hirogen » 21 čer 2024 15:16 » v Internet a internetové prohlížeče
    1
    4396
    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
    7242
    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
    9279
    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ů