LusoRobótica - Robótica em Português
Software => Software e Programação => Tópico iniciado por: ivitro em 08 de Setembro de 2014, 11:36
-
Olá, precisava de ajuda numas linhas de código.
num programa de excel que estou a fazer para preencher um combobox uso estas linhas:
Dim rFG As Range
'Empty ClientComboBox
ClientComboBox.Clear
'Fill Client with sheet("client").column
With Sheets("folha1")
Set rFG = .Range("B2", .Cells(.Rows.Count, 2).End(xlUp))
End With
ClientComboBox.List = rFG.Value
Isto tá a funcionar bem e foi a maneira mais simples que encontrei para preencher a combobox mas o objectivo agora era preencher a combobox com duas colunas da folha 1, a começar em A2 e B2.
Alguma dica de como posso modificar a função .Range("B2", .Cells(.Rows.Count, 2).End(xlUp))?
-
Testa com isto :
With Sheets("folha1")
ClientComboBox.RowSource = _
"'" & .Name & "'!" & .Range("B2", .Range("L65536").End(xlUp)).Address
End With
-
'Empty ClientComboBox
ClientComboBox.Clear
'Fill Client with sheet("client").column
With Sheets("folha1")
For Each CBItem In .Range("B2", .Cells(.Rows.Count, 2).End(xlUp))
ComboBox1.AddItem CBItem.Value
Next
For Each CBItem In .Range("C2", .Cells(.Rows.Count, 3).End(xlUp))
ComboBox1.AddItem CBItem.Value
Next
End With
Podia ser tudo num só "For" se as duas colunas tiverem o mesmo numero de itens, e não importar que a lista fique B2,C2,B3,C3...
-
Não está a dar :\
O que eu preciso é que cada linha da combobox tenha duas colunas preenchidas com duas colunas da folha.
tipo isto:
ComboBox1.ColumnCount = 2
Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer
Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"
Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"
ComboBox1.List = Films
fazer o range de A2 e B2 corresponder à lista da combobox.
-
Entretanto já consegui resolver o problema :D
ComboBox1.ColumnCount = 2
ComboBox1.Clear
Dim rFG As Range
'Fill Client with sheet("client").column
With Sheets("folha1")
Set rFG = .Range("A2:B2", .Cells(.Rows.Count, 2).End(xlUp))
End With
ComboBox1.List = rFG.Value
não sabia que dava para fazer assim. Obrigado pela ajuda