Ir para conteúdo
Fórum Script Brasil

Alyson Ronnan Martins

Membros
  • Total de itens

    832
  • Registro em

  • Última visita

Posts postados por Alyson Ronnan Martins

  1. Não entendi bem mais me explica, você quer que entre as celulas K3 à K250 aparece o valor "1" se o valor da Coluna A3 à A250 bater com a planilha Plan1!A3?

    Se for só para dizer se encontra e aparece o numero 1 é sim o FOR (do VBA) faz isso tranquilamente.

    Mais preciso saber de ti se é isso mesmo.

  2. Em 23/12/2016 at 20:37, RONALDO GODINHO CANDIDO disse:

    Parceiro, Alyson!

    Fiz as alterações abaixo e respondendo sua pergunta, são vários cadastros que tenho que incluir, são mais de 3.000 empregados.

    Criei um formulário em VBA (Useform) e sua utilização é de ao cadastrar dados de empregados no formulário os mesmos sejam transportados para uma planilha Excel.

    Como o primeiro dado a ser digitado é a matricula do empregado, criei uma caixa de texto  e coloquei ao seu lado um botão de Pesquisa, para que ao digitar esse numero o mesmo carregue duas outras caixas de texto: NOME e a LOJA em que esse empregado esteja alocado e após acabar as digitações de outros campos, esses sejam carregados para uma planilha Excel após clicar em SALVAR. Minha necessidade é:

    ==> Como configurar as caixas de texto NOME e LOJA, que quando digitar a matricula e clicar no botão PESQUISAR, carregue somente essas duas caixas de texto, e após acabar a digitação ao clicar em SALVAR os dados sejam transferidos para a planilha?

    Obs: O restante do formulário esta completo, somente me falta ajustar essa situação

    IMPORTANTE: Na planilha existe uma aba contendo os dados de todos os empregados que devem ser capturado por PROCV para o preenchimento das caixas de texto: NOME e LOJA.

    Preciso entregar esse projeto na próxima segunda-feira.

    Obrigado

    GODINHO VBA

    Olha se te ajuda.

    Public Sub PegarDados(Valor As String)
    Dim Procurar
    Dim Planilha
    Planilha = "Plan1"
    Set Procurar = Sheets(Planilha).Columns("A:A").Find(Valor, , , LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
    If Not Procurar Is Nothing Then
    Procurar = Procurar.Row
    'MsgBox Procurar
    TextBox2.Text = Sheets(Planilha).Cells(Procurar, "B").Text
    TextBox3.Text = Sheets(Planilha).Cells(Procurar, "C").Value
    Else
    TextBox2.Text = ""
    TextBox3.Text = ""
    MsgBox "Não foi encontrado o numero procurado"
    End If
    
    
    End Sub

    PS: Desculpa pela demora o E-mail não me avisou que tinha respondido

     

    Obs.: Esse é o código mais rápido para encontrar valor em planilha com muitos dados. Os outros podem usar o "FOR" que demora muito para achar.

    Comando1.png

    Comando2.png

    Comando3.png

  3. Em 17/12/2016 at 21:18, walber luiz disse:

    gostaria de uma macro para que possa lançar a informação se uma planilha para a outra conforme seleção.

    no exemplo esta o mes de fevereiro em diante.

    Sem título.png

    Olha se funciona para ti: 

    Sub Entrada()
    On Error GoTo NomeErrado
    'Criando o primeiro comando
    Dim Planilha As String
    Planilha = Cells(3, 3).Value
    Sheets(Planilha).Select
    'Esse comando você vai para a planilha
    'agora na tela é preenchido os dados
    'a ordem eu não sei então estou colocando uma qualquer e você arruma ai.
    
    'Destino => Dados
    'Todos os dados são cadastrados apartir da linha 2 da planilha selecionada
    Sheets(Planilha).Rows("2:2").Insert shift:=xlDown
    Cells(2, "A").Value = "Entrada"
    Cells(2, "B").Value = Sheets("MENU").Cells(8, 4).Value 'Coluna da Data
    Cells(2, "C").Value = Sheets("MENU").Cells(10, 4).Value 'Coluna da Descrição
    Cells(2, "D").Value = Sheets("MENU").Cells(12, 4).Value 'Coluna da quantidade
    Cells(2, "E").Value = Sheets("MENU").Cells(14, 4).Value 'Coluna da Valor
    Cells(2, "F").Value = Now() 'Armazenar o momento do cadastro
    
    'Voltar ao menu
    Sheets("MENU").Select
    
    Exit Sub
    NomeErrado:
    MsgBox "Foi preenchido um nome para a planilha, favor verificar.", vbCritical, "Aviso"
    Sheets("MENU").Select
    End Sub
    
    Sub SAIDA()
    On Error GoTo NomeErrado
    'Criando o primeiro comando
    Dim Planilha As String
    Planilha = Cells(3, 3).Value
    Sheets(Planilha).Select
    'Esse comando você vai para a planilha
    'agora na tela é preenchido os dados
    'a ordem eu não sei então estou colocando uma qualquer e você arruma ai.
    
    'Destino => Dados
    'Todos os dados são cadastrados apartir da linha 2 da planilha selecionada
    Sheets(Planilha).Rows("2:2").Insert shift:=xlDown
    Cells(2, "A").Value = "Saida"
    Cells(2, "B").Value = Sheets("MENU").Cells(8, 4).Value 'Coluna da Data
    Cells(2, "C").Value = Sheets("MENU").Cells(10, 4).Value 'Coluna da Descrição
    Cells(2, "D").Value = Sheets("MENU").Cells(12, 4).Value 'Coluna da quantidade
    Cells(2, "E").Value = Sheets("MENU").Cells(14, 4).Value 'Coluna da Valor
    Cells(2, "F").Value = Now() 'Armazenar o momento do cadastro
    
    'Voltar ao menu
    Sheets("MENU").Select
    
    Exit Sub
    NomeErrado:
    MsgBox "Foi preenchido um nome para a planilha, favor verificar.", vbCritical, "Aviso"
    Sheets("MENU").Select
    End Sub

     

  4. Public Sub Apagar()
    Dim LinhaInicial As Long
    Dim ColunaInicial As Long
    LinhaInicial = 1
    ColunaInicial = 1
    'Esse código assim mostra aonde deve começar a linha e a coluna dos seus dados
    
    Dim ContarLinhas As Long
    Dim ContarColunas As Long
    ContarLinhas = Cells(Rows.Count, ColunaInicial).End(xlUp).Row
    ContarColunas = Cells(LinhaInicial, Columns.Count).End(xlToLeft).Column
    For x = LinhaInicial To ContarLinhas Step 1
        For y = ColunaInicial To ContarLinhas Step 1
            Dim ValorProcurado As String
            Dim ValorEncontrado As String
            ValorProcurado = 3 'basta mudar aqui ou criar mais comandos para olhar
            ValorEncontrado = Cells(x, y).Value
            
            If ValorProcurado = ValorEncontrado Then
                Cells(x, y).ClearContents
                'pode ser usado também o cells(x, y).value = ""
                
            End If
        
        Next y
    Next x
    
    
    End Sub

    Olha se assim você consegue.

  5. Em 16/12/2016 at 08:21, Rafael Bertram disse:

    Bom Dia Alyson,

    Você poderia me ajudar a resolver esse ponto que te passei...

    A regra que você me enviou funcionou parcialmente...ela apagou todo o conteúdo que estava entre as células A1:L20...só preciso que ele apague um conteúdo especifico..por exemplo ...limpe todos os campos que contenham os números 3 e 4...

    Anexei uma tela para teste...

    tela.png

    Bom não sei se esta por ai mais vou criar algo mais complexo. Olha se acompanha. Ok?

  6. Boa noite. Eu dei uma revisada no seu projeto e vi um problema. 
    Nas referências cadastradas não tinha uma delas no meu computador e creio que seja a mesma que esteja dando erro no seu. Eu desativei a referência e a planilha funcionou normalmente.

    Desativa ela ai e me passa uma resposta.

    No VBA: Menu Ferramentas > Referências...

    erro.png

×
×
  • Criar Novo...