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
  • Napojení Webnode kontaktního formuláře na Raynet CRM přes Make
    od mahy133 » 11 črc 2025 07:49 » v Programování a tvorba webu
    1
    16194
    od HelFix Zobrazit poslední příspěvek
    12 črc 2025 21:53
  • Změna poskytovatele internetového připojení
    od Fargotroniac » 09 říj 2024 08:15 » v Sítě - hardware
    17
    9644
    od Fargotroniac Zobrazit poslední příspěvek
    12 říj 2024 18:59
  • Změna poslední číslice ve více číslech najednou
    od Arnold91 » 02 zář 2025 07:05 » v Kancelářské balíky
    7
    5802
    od Zivan Zobrazit poslední příspěvek
    02 zář 2025 17:01
  • 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
    22383
    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 1 host