Ir para conteúdo
Fórum Script Brasil
  • 0

Inserção de dados simples em combobox.


Chico Xavier

Pergunta

Caros,

dúvida básica mas não consigo resolver de jeito algum. Tenho um formulário com vários text-boxs e um como-box que me trará dados de nomes de equipe. Ex: AR, AT, BMB. Dados simples. Porém não consigo trazer esses dados para o meu combobox. Já tentei adicionar tb em RowSource do combox, me diz valor de propriedade não e valido. Fiz um teste simples em outra pasta de trabalho e consegui. O código encontra-se assim:

Private Sub UserForm1_Initialize()
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name, False, False, "EXCEL 8.0")
Set rs = bd.OpenRecordset("Prod-Acompanhamento$", dbOpenDynaset)

If Me.TextBox1 = "" Then
Me.TextBox1 = "-"
End If
If Me.ComboBox1 = "" Then
Sheets("Plan2").Activate
Me.ComboBox1.RowSource = "Plan2!A2:A9"
End If
If Me.TextBox3 = "" Then
Me.TextBox3 = "-"
End If
If Me.TextBox4 = "" Then
Me.TextBox4 = "-"
End If
If Me.TextBox5 = "" Then
Me.TextBox5 = "-"
End If
If Me.TextBox6 = "" Then
Me.TextBox6 = "-"
End If
If Me.TextBox7 = "" Then
Me.TextBox7 = "-"
End If
If Me.TextBox8 = "" Then
Me.TextBox8 = "-"
End If
If Me.TextBox9 = "" Then
Me.TextBox9 = "-"
End If
If Me.TextBox10 = "" Then
Me.TextBox10 = "-"
End If
If Me.TextBox11 = "" Then
Me.TextBox11 = "-"
End If
Dim CADASTRO(1 To 11)
CADASTRO(1) = UCase(Me.TextBox1)
CADASTRO(2) = UCase(Me.ComboBox1)
CADASTRO(3) = UCase(Me.TextBox3)
CADASTRO(4) = UCase(Me.TextBox4)
CADASTRO(5) = UCase(Me.TextBox5)
CADASTRO(6) = UCase(Me.TextBox6)
CADASTRO(7) = UCase(Me.TextBox7)
CADASTRO(8) = UCase(Me.TextBox8)
CADASTRO(9) = UCase(Me.TextBox9)
CADASTRO(10) = UCase(Me.TextBox10)
CADASTRO(11) = UCase(Me.TextBox11)
Dim UserForm1 As Object
Dim L, I
Set UserForm1 = Plan1.Cells(1, 1).CurrentRegion
L = Plan1.Range("A65536").End(xlUp).Row + 1
For I = 1 To 11
Plan1.Cells(L, I).Value = Trim(CADASTRO(I))
Next I
MsgBox "CADASTRADO", vbInformation, " COM SUCESSO"
ThisWorkbook.Save
End Sub
Já tentei com:
With ComboBox1
.AddItem "Acre"
.AddItem "Ceará"
.AddItem "Maranhao"
End With
com:
Dim r As Range
   For Each r In ThisWorkbook.Worksheets("Prod-Equipe").Range("A2:A9").Rows
   Me.ComboBox1.AddItem
Next r

porém os dados não vem. Acredito que não deva estar referenciando esses dados corretamente. Agradeço um help nessa situação.

Atenciosamente,

Francisco Xavier

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você pode atualizar de duas formas conforme exemplo abaixo:

Diretamente dentro do código do UserForm - ATUALIZA1

Ou pela planilha conforme o ATUALIZA2 (no exemplo, com os dados na planilha 1 começando na célula A2)

O KeyAscii é para bloquear a digitação

Private Sub UserForm_Initialize()
Call ATUALIZA1
End Sub

Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = 0
End Sub

Sub ATUALIZA1()
With ComboBox1
     .AddItem "Acre"
     .AddItem "Ceará"
     .AddItem "Maranhao"
End With
End Sub

Sub ATUALIZA2()
Dim I As Long
For I = 2 To Plan1.Range("A65536").End(xlUp).Row
    ComboBox1.AddItem Plan1.Range("A" & I).Value
Next I
End Sub

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...