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
  • JavaScript - načtení web stranky do řetězce.
    od L.L » 16 bře 2024 10:23 » v Programování a tvorba webu
    4
    2623
    od L.L Zobrazit poslední příspěvek
    20 bře 2024 07:29
  • změna CPU?
    od sign0r » 07 říj 2023 21:32 » v Rady s výběrem hw a sestavením PC
    3
    1678
    od Alferi Zobrazit poslední příspěvek
    07 říj 2023 22:08
  • Zmena IP adresy
    od ShadowWord:Pain » 15 zář 2023 09:49 » v Sítě - hardware
    11
    2438
    od petr22 Zobrazit poslední příspěvek
    15 zář 2023 12:48
  • Ikony změna
    od DanteJo94 » 14 srp 2023 10:26 » v Mobily, tablety a jiná přenosná zařízení
    0
    1880
    od DanteJo94 Zobrazit poslední příspěvek
    14 srp 2023 10:26
  • Změna hesla
    od draxxx » 25 říj 2023 20:49 » v Windows 11, 10, 8...
    0
    1486
    od draxxx Zobrazit poslední příspěvek
    25 říj 2023 20:49

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