- 05 Mar 2018 às 23:16
#30786
Boa noite amigos.
Gostaria de pedir a ajuda de vocês para um problema que não tenho conseguido contornar. Tenho um formulário com várias caixas de texto que escrevo as informações de um produto que são incluídas nas colunas de uma tabela que serve como base de dados. Essa tabela tem na coluna "A" um número de cadastro para cada novo produto (cadastro: 1, 2, 3...). Através do formulário é possível pesquisar por um número de cadastro existente e alterar alguma informação nas caixas de texto. Porém, após as novas inclusões a planilha se reorganiza na coluna "B" por ordem alfabética e eu tento utilizar o comando Range para alterar um cadastro existente e não encontro a linha certa. Por exemplo, cadastro 314 que está na linha 12. O código abaixo é a tentativa de procurar o range que quero, mas sempre depuro e recebo o erro 1004. Poderiam me ajudar a resolver esse problema? Quero encontrar uma maneira de modificar as informações que estão na linha que contém na coluna A o valor de 314. Espero que tenha ficado claro. Obrigado de antemão.
PS: txtCadastro.Text foi utilizado como integer no mesmo módulo em outra macro.
Gostaria de pedir a ajuda de vocês para um problema que não tenho conseguido contornar. Tenho um formulário com várias caixas de texto que escrevo as informações de um produto que são incluídas nas colunas de uma tabela que serve como base de dados. Essa tabela tem na coluna "A" um número de cadastro para cada novo produto (cadastro: 1, 2, 3...). Através do formulário é possível pesquisar por um número de cadastro existente e alterar alguma informação nas caixas de texto. Porém, após as novas inclusões a planilha se reorganiza na coluna "B" por ordem alfabética e eu tento utilizar o comando Range para alterar um cadastro existente e não encontro a linha certa. Por exemplo, cadastro 314 que está na linha 12. O código abaixo é a tentativa de procurar o range que quero, mas sempre depuro e recebo o erro 1004. Poderiam me ajudar a resolver esse problema? Quero encontrar uma maneira de modificar as informações que estão na linha que contém na coluna A o valor de 314. Espero que tenha ficado claro. Obrigado de antemão.
PS: txtCadastro.Text foi utilizado como integer no mesmo módulo em outra macro.
Código: Selecionar todos
Private Sub btnOK_Click()
Sheets("Lista Mestra").Unprotect "1234"
'Alterar
If optAlterar.Value Then
Dim Result1 As VbMsgBoxResult
Result1 = MsgBox("Deseja alterar o registro nº " & txtCadastro.Text & " ?", vbYesNo, "Confirmação")
If Result1 = vbYes Then
Worksheets("Lista Mestra").Range(txtCadastro, 2).Value = txtPadrão.Text
Worksheets("Lista Mestra").Range(txtCadastro, 3).Value = txtCodigo.Text
Worksheets("Lista Mestra").Range(txtCadastro, 4).Value = txtCaixa.Text
Worksheets("Lista Mestra").Range(txtCadastro, 5).Value = txtArmazenamento.Text
Worksheets("Lista Mestra").Range(txtCadastro, 6).Value = txtLote.Text
Worksheets("Lista Mestra").Range(txtCadastro, 7).Value = txtValidade.Text
Worksheets("Lista Mestra").Range(txtCadastro, 8).Value = txtPot.Text
Worksheets("Lista Mestra").Range(txtCadastro, 9).Value = txtFabricante.Text
Worksheets("Lista Mestra").Range(txtCadastro, 10).Value = txtNF.Text
Worksheets("Lista Mestra").Range(txtCadastro, 12).Value = txtMega.Text
Worksheets("Lista Mestra").Range(txtCadastro, 13).Value = txtAplicação.Text
MsgBox "Alteração realizada com sucesso!"
Unload Me
Sheets("Lista Mestra").Protect "1234"
End If
End If