Tenho uma planilha com todas as datas do ano 1/1/20009 a 31/12/2009 ("A2:A366"), e inseri as datas na ComboBox1 com a seguinte rotina na inicialização do formulário:
Private Sub UserForm_Initialize()
Dim i As Range
For Each i In ThisWorkbook.Worksheets("Plan1").Range("A2:A366").Rows
Me.ComboBox1.AddItem Format(i.Cells(1, 1), "")
Next i
End Sub
Muito bem, até ai sem problemas.
Para cada linha da coluna "A" com suas datas tenho também nas colunas "B,C,D..."
valores inseridos por meio de TextBox, que são registrados na planilha, vejam exemplo:
1/1/2009 2000 120 25 125
2/1/2009 1200 100 74 142
3/1/2009 3000 80 123 159
4/1/2009 4000 60 172 176
5/1/2009 5000 120 221 193
6/1/2009 6000 180 270 210
7/1/2009 7000 240 319 227
Criei uma rotina para selecionar na ComboBox1 uma data cujos valores retornam novamente para as TextBox para serem alterados, vejam a rotina:
Private Sub ComboBox1_Change()
Dim i As Integer
i = ComboBox1.ListIndex + 2
Select Case i
Case i
TextBox1.Value = ActiveSheet.Cells(i, 2).Value
TextBox2.Value = ActiveSheet.Cells(i, 3).Value
TextBox3.Value = ActiveSheet.Cells(i, 4).Value
TextBox4.Value = ActiveSheet.Cells(i, 5).Value
TextBox5.Value = ActiveSheet.Cells(i, 6).Value
TextBox6.Value = ActiveSheet.Cells(i, 7).Value
TextBox7.Value = ActiveSheet.Cells(i, 8).Value
End Select
End Sub
O problema é que ao selecionar a data os valores correspondentes são inseridos na linha 2, sendo que deveriam estar na mesma linha da data selecionada para alteração.
Pergunta
PBJ
Olá pessoal!
Peço ajuda para solucionar a seguinte dúvida:
Tenho uma planilha com todas as datas do ano 1/1/20009 a 31/12/2009 ("A2:A366"), e inseri as datas na ComboBox1 com a seguinte rotina na inicialização do formulário:
Private Sub UserForm_Initialize()
Dim i As Range
For Each i In ThisWorkbook.Worksheets("Plan1").Range("A2:A366").Rows
Me.ComboBox1.AddItem Format(i.Cells(1, 1), "")
Next i
End Sub
Muito bem, até ai sem problemas.
Para cada linha da coluna "A" com suas datas tenho também nas colunas "B,C,D..."
valores inseridos por meio de TextBox, que são registrados na planilha, vejam exemplo:
1/1/2009 2000 120 25 125
2/1/2009 1200 100 74 142
3/1/2009 3000 80 123 159
4/1/2009 4000 60 172 176
5/1/2009 5000 120 221 193
6/1/2009 6000 180 270 210
7/1/2009 7000 240 319 227
Criei uma rotina para selecionar na ComboBox1 uma data cujos valores retornam novamente para as TextBox para serem alterados, vejam a rotina:
Private Sub ComboBox1_Change()
Dim i As Integer
i = ComboBox1.ListIndex + 2
Select Case i
Case i
TextBox1.Value = ActiveSheet.Cells(i, 2).Value
TextBox2.Value = ActiveSheet.Cells(i, 3).Value
TextBox3.Value = ActiveSheet.Cells(i, 4).Value
TextBox4.Value = ActiveSheet.Cells(i, 5).Value
TextBox5.Value = ActiveSheet.Cells(i, 6).Value
TextBox6.Value = ActiveSheet.Cells(i, 7).Value
TextBox7.Value = ActiveSheet.Cells(i, 8).Value
End Select
End Sub
O problema é que ao selecionar a data os valores correspondentes são inseridos na linha 2, sendo que deveriam estar na mesma linha da data selecionada para alteração.
i = ComboBox1.ListIndex + 2 ?????
Agradeço ajuda!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.