Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por LucasN
#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.
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
Avatar do usuário
Por gfranco
Avatar
#30788
Bom dia.
Veja se o exemplo que montei consegue ajudar-te.
Deixei a rotina identada .
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord