LucasMMalheiros
-
Posts
2 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por LucasMMalheiros
-
-
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 IfIf TextBoxUmid = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxUmid.SetFocus
Exit Sub
End IfIf TextBoxFiltro = "" Then
MsgBox "Preencha todos os campos", vbExclamation, "Aviso"
TextBoxFiltro.SetFocus
Exit Sub
End IfIf 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 = EmptyEnd Sub
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
Inserir dados em uma linha específica - VBA
em Microsoft Office e similares
Postado
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