Ir ao conteúdo
  • Cadastre-se

Excel Inserir dados em uma linha específica - VBA


Posts recomendados

Boa tarde!

 

Estou criando uma planilha para registro de valores de filtros, com dados iniciais e finais.

Portanto, nos dados iniciais eu indico o numero do filtro, e no formulário de dados finais, eu preciso de um código que ache esse filtro já registrado (Linha 'X' na Coluna A) para poder inserir os dados finais na mesma linha. 

 

A minha dificuldade é selecionar a linha para trabalhar, ou seja, um valor para inserir no Range("???").select.

Agradeço desde já!

 

Estou tentando o seguinte código:

 

Private Sub CommandButton1_Click()

'Ativar a planilha
ThisWorkbook.Worksheets("Dados").Activate


' Formato da umidade para %
TextBoxUmid.Value = Format(Val(TextBoxUmid) / 100, "##%")


'Procurar o filtro
With Worksheets("Dados").Range("A:A")
Set c = .Find(TextBoxFiltro.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
  c.Activate
  TextBoxFiltro.Value = c.Value
End If
   End With


    'Selecionar a linha do filtro
'Range("Coluna A e linha do valor do filtro encontrado ").Select

 

    
'Obrigar o preenchimento de todos os dados necessários
If TextBoxTemp = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
Exit Sub
End If

If TextBoxUmid = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxUmid.SetFocus
Exit Sub
End If

If TextBoxFiltro = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxFiltro.SetFocus
Exit Sub
End If

If TextBoxPI = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxPI.SetFocus
Exit Sub
End If

 

'Carregar os dados digitados nas caixas de texto para a planilha
ActiveCell.Value = TextBoxFiltro
ActiveCell.Offset(0, 7).Value = TextBoxData.Value
ActiveCell.Offset(0, 8).Value = TextBoxHora.Value
ActiveCell.Offset(0, 9).Value = TextBoxUmid.Value
ActiveCell.Offset(0, 10).Value = TextBoxTemp.Value
ActiveCell.Offset(0, 11).Value = TextBoxPI.Value


'Limpar as caixas de texto
TextBoxPI.Value = Empty
TextBoxFiltro = Empty

End Sub

Link para o comentário
Compartilhar em outros sites

Consegui resolver sozinho!

 

Pra quem tem a mesma duvida, segue o código:

 

Private Sub CommandButton_final_Click()

'Ativar a primeira planilha
ThisWorkbook.Worksheets("Dados").Activate


' Formato da umidade para % e temperatura em *C
TextBoxUmid2.Value = Format(Val(TextBoxUmid2) / 100, "##%")


'Procurar o filtro na Coluna de filtros
Dim NF As Range

With Worksheets("Dados").Range("A:A")
Set NF = .Find(TextBoxFiltro2.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not NF Is Nothing Then
  NF.Activate
  TextBoxFiltro2.Value = NF.Value
End If
   End With
   
 'Selecionar o filtro digitado e escolher a linha do filtro para trabalhar nela
   If Not NF Is Nothing Then
  myCol = NF.Select
  Else
  MsgBox "Filtro não cadastrado!"
End If
   
    
'Obrigar o preenchimento de todos os dados necessários
If TextBoxTemp2 = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
Exit Sub
End If

If TextBoxUmid2 = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxUmid2.SetFocus
Exit Sub
End If

If TextBoxFiltro2 = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxFiltro2.SetFocus
Exit Sub
End If

If TextBoxPF = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxPF.SetFocus
Exit Sub
End If

If Not NF Is Nothing Then


'Carregar os dados digitados nas caixas de texto para a planilha
'ActiveCell.Value = TextBoxFiltro
ActiveCell.Offset(0, 7).Value = TextBoxData2.Value
ActiveCell.Offset(0, 8).Value = TextBoxHora2.Value
ActiveCell.Offset(0, 9).Value = TextBoxUmid2.Value
ActiveCell.Offset(0, 10).Value = TextBoxTemp2.Value
ActiveCell.Offset(0, 11).Value = TextBoxPF.Value
End If


'Limpar as caixas de texto
TextBoxPF.Value = Empty
TextBoxFiltro2 = Empty
 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...