< návrat zpět

MS Excel


Téma: Combobox rss

Zaslal/a 10.4.2013 3:47

Ahoj, prosím o pomoc s níže uvedeným kódem. V UF mám dvě comba a potřebuji, aby se uložila data z comba do listu řádku 3 a 9 sloupce a řádku 4 a 10 sloupce. Našel jsem makro, pokoušel jsem se ho předělat na dvě comba, ale marně. Díky za pomoc

Private Sub CommandButton1_Click()
Dim n As Variant
Dim pole(10) As String
pole(9) = ComboBox1.Value
For n = 0 To 10
Cells(3, n + 1) = pole(n)
Next n

pole(10) = ComboBox10.Value
For n = 0 To 10
Cells(4, n + 1) = pole(n)

Next n

End Sub

Zaslat odpověď >

#012773
avatar
Sem to nějak špatně vložil, omluva:-)

Private Sub CommandButton1_Click()
Dim n As Variant
Dim pole(10) As String
pole(9) = ComboBox1.Value
For n = 0 To 10
Cells(3, n + 1) = pole(n)
Next n

pole(10) = ComboBox10.Value
For n = 0 To 10
Cells(4, n + 1) = pole(n)

Next n

End Subcitovat
#012774
avatar
A ještě jsem se chtěl zeptat. Když mám dvě comba, je možné nějak ošetřit, aby šlo používat pouze jedno z nich. Pokud provedu výběr v combo 1 tak se deaktivuje combo 2 a když budu potřebovat udělat výběr na combo 2 tak musím v combu 1 nastavit prázdnou hodnotu. Lze to takto nějak udělat? Předem díky za odpověďcitovat
icon #012775
eLCHa
To pole mě tam těžce mate, ale pokud striktně dodržím zadání tak proste

V UF mám dvě comba a potřebuji, aby se uložila data z comba do listu řádku 3 a 9 sloupce a řádku 4 a 10 sloupce

Private Sub CommandButton1_Click()
Cells(3,9).value=ComboBox1.Value
Cells(4,10).value=ComboBox2.Value
End Sub


A ještě jsem se chtěl zeptat. Když mám dvě comba, je možné nějak ošetřit, aby šlo používat pouze jedno z nich.

Private Sub ComboBox1_Change()
ComboBox2.Enabled=(ComboBox1.Value=vbnullstring)
End Sub

a totéž pro druhý,ale naopak

Nebo (takto bych to použil já) - podmínkou je, aby první hodnota v CB byla prázdná
Private Sub ComboBox1_Change()
ComboBox2.Enabled=(ComboBox1.ListIndex=0)
End Sub


Pozn.: psáno bez excelu, takže doufám že je to správně ;)citovat
#012779
avatar
Díky za vyřešní toho vkládání, funguje super.
Jen na tu deaktivaci toho comba nemůžu přijít. Dal jsem sem ukázku a popis problému je uložen v userformu.
Příloha: rar12779_combobox.rar (18kB, staženo 26x)
citovat
icon #012780
eLCHa

Private Sub ComboBox1_Change()
Call subEnableDisableCheckBoxes(ComboBox1)
End Sub

Private Sub ComboBox2_Change()
Call subEnableDisableCheckBoxes(ComboBox2)
End Sub

'atp..

Private Sub subEnableDisableCheckBoxes(ByVal chb As ComboBox)
If Not chb Is ComboBox1 Then ComboBox1.Enabled = (chb.Value = vbNullString)
If Not chb Is ComboBox2 Then ComboBox2.Enabled = (chb.Value = vbNullString)
If Not chb Is ComboBox3 Then ComboBox3.Enabled = (chb.Value = vbNullString)
If Not chb Is ComboBox4 Then ComboBox4.Enabled = (chb.Value = vbNullString)
If Not chb Is ComboBox5 Then ComboBox5.Enabled = (chb.Value = vbNullString)
Set chb = Nothing
End Sub


Tím ListIndexem jsem asi spíš zmátl (nefunguje, protože nesplňujete aby první hodnota v CB byla prázdná)citovat
#012781
avatar
Díky, deaktivace ostatních comb funguje super.
Jen se mě teď přidružil jeden problémek. Lze vkládat ze všech pěti Comb do jedné buňky? Pokud nastavím vkládání do stejné buňky tak se z aktivního comba do buňky v listu nic nevloží, protože se patrně vloží nulové hodnoty v ostatních comboboxů.
Viz kód:
Private Sub CommandButton1_Click()
Cells(4, 10).Value = ComboBox1.Value
Cells(4, 10).Value = ComboBox2.Value
Cells(4, 10).Value = ComboBox3.Value
Cells(4, 10).Value = ComboBox4.Value
Cells(4, 10).Value = ComboBox5.Value
End Subcitovat
icon #012784
eLCHa
if not ComboBox1.Value = vbnullstring then Cells(4, 10).Value = ComboBox1.Value
'atp.
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32