vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 18 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Odwołanie do Combobox


otwartyotwarty rozpoczął: Zwierzak postów: 5



napisał: Zwierzak
postów: 31


umieszczony:
28 października 2008
12:57

  
Cytat:
Sub dd()
Dim i As Integer, a As Double
For i = 1 To 15
a = a + Sheets("Arkusz1").Shapes("ComboBox" & i).OLEFormat.Object.Object.Value
Next i
MsgBox a
End Sub



Działa! Dzięki Ci, Królu Złoty. O to mnie się właśnie rozchodziło.
napisał: Trebor
postów: 1209


umieszczony:
28 października 2008
12:11

  
Spróbuj tak:
Sub dd()
Dim i As Integer, a As Double
For i = 1 To 15
a = a + Sheets("Arkusz1").Shapes("ComboBox" & i).OLEFormat.Object.Object.Value
Next i
MsgBox a
End Sub

napisał: Zwierzak
postów: 31


umieszczony:
28 października 2008
09:10

  
Dzięki za odpowiedź. Czy nie da się tego zrobić prościej? Nie do końca rozumiem co ta procedurka robi, bo jestem nowicjuszem.
Muszę pobrać wartości z każdej z 15 kontrolek i nie chce tego robić w 15 linijkach kodu:
aaa = .ComboBox1.Value
bbb = .ComboBox2.Value
...
zzz = .ComboBox15.Value

tylko w pętli np. FOR.
Do arkuszy można odwoływać się bardzo łatwo podając indeks w nawiasie np. Sheets(4) i tak sobie myślę, że pewnie tak samo jest z kontrolkami ComboBox, bo aż się o to prosi, ale mogę się mylić.
Mylę się?
napisał: jalamas
postów: 316


umieszczony:
27 października 2008
23:06

  
Adminie co z Tobą:
Cytat:
Mam w arkuszu

-----------
Zakładam, że są to kontrolki z Przybornika Formantów (ActiveX):
Sub Wylicz(Wsh As Worksheet)
    Dim Obj As OLEObject
    For Each Obj In Wsh.OLEObjects
        With Obj
            If .progID = "Forms.ComboBox.1" Then
                MsgBox .Name & vbNewLine & TypeName(.Object) & vbNewLine & .Object.ListCount
            End If
        End With
    Next
    MsgBox "Wsh.OLEObjects(""ComboBox1"").Object.ListCount -->" & Wsh.OLEObjects("ComboBox1").Object.ListCount
    MsgBox "Wsh.Shapes(""ComboBox1"").OLEFormat.Object.Object.ListCount --> " & Wsh.Shapes("ComboBox1").OLEFormat.Object.Object.ListCount
End Sub

Przekaż obiekt arkusza jako parametr, czy jeśli procedura test znajdzie się w kodzie klasy arkusza to:
'----------------------------------------------------------
' VBA Class Document Codename: Arkusz5
' Name : moj_arkusz
'----------------------------------------------------------
Option Explicit

Sub Test()
    Call Wylicz(Me)
End Sub

napisał: Zwierzak
postów: 31


umieszczony:
27 października 2008
15:13

  
Witam,
Mam w arkuszu 15 kontrolek typu combobox.
Jak w kodzie VBA odwołać się do nich w pętli. Nie działa mi ani .ComboBoxes(i) ani .ComboBox(i) ani .Combobox & i ani nic innego. Próbowałem wszystkiego. Ma ktoś jakiś pomysł jak mogę to zrobić? Z góry dzięki i pozdrawiam.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z