Ir ao conteúdo
  • Cadastre-se

guicrissantos

Membro Pleno
  • Posts

    48
  • Cadastrado em

  • Última visita

posts postados por guicrissantos

  1. Olá amigos...
    Tenho três guias no Excel:

    “Bradesco”, “Caixa” e “FinanceiroGeral”

    e ambas possuem as seguintes colunas:

    “Data”; “TipoMov”; “Descrição”; “Cód.CC”; “Centro de Custos”; “Dpto”; “Entradas”; “Saídas”; “Saldo” e “TipoLanç”.

    Preciso de um código VBA que uma as guias “Bradesco” e “Caixa” na guia “FinanceiroGeral” e toda vez que um dado for inserido nas linhas da guia “Bradesco” ou “Caixa”, copie abaixo da última linha preenchida na guia “FinanceiroGeral” de forma automática.

    Obs.:

    A guia "FinanceiroGeral" começa com uma coluna chamada "Registro”. Essa por sua vez não existe nas guias de onde trazemos os dados pois essa coluna serve para gerar um código numérico sequencial, toda vez que uma nova linha for copiada das duas guias em questão.

    Alguém pode me auxiliar por favor nesse desafio?

  2. 2 horas atrás, Luciana Goes disse:

    Boa tarde!

    Entendendo melhor sua necessidade, fiz algumas alterações.

    Veja se resolve.

     

    As abas que estão na cor vermelha não são utilizadas com as mudanças que fiz.

     

    Trabalhei aqui com a tabela dinâmica, na qual você deverá apenas filtrar por data (célula H2) e as fórmulas já deixarão tudo formatado do jeito que você precisa.

     

    Aguardo seu retorno.

     

    graficoTemporario.zip 161 kB · 0 downloads

    Luciana...

     

    Estamos a 99% do êxito.

     

    Na verdade, onde filtro data, preciso filtrar MÊS de modo que todas as RNC'S daquele mês (EXEMPLO: Janeiro/21) sejam lançadas na tabela que será exportada.

    A tabela que será exportada só precisa mostrar duas colunas sendo RNC'S INTERNAS e RNC'S EXTERNAS.

     

    Pode modificar isso por favor?

  3. 49 minutos atrás, Luciana Goes disse:

    @guicrissantos Neste caso, a imagem seria uma única linha de cada mês então? Ou seriam meses iguais, mas com anos diferentes?

    Bom dia Luciana...

    Todos os meses, preciso finalizar o balanço emitindo uma imagem com as RNC'S INTERNAS E EXTERNAS daquele mês logo, seriam por mês sim.

    Ao final de cada ano, essa planilha vai para o arquivo morto e abre-se uma nova para gestão do ano seguinte.

  4. Em 05/07/2021 às 13:57, Luciana Goes disse:

    Fiz umas alterações.

    Veja se deu certo.

    graficoTemporario.zip 18 kB · 1 download

    Luciana,

     

    Boa Noite!

     

    Só tenho a lhe agradecer. Funcionou perfeitamente porém, preciso de mais uma ajudinha.

    O arquivo anexo que estou lhe enviando agora (o mesmo que você me enviou da primeira vez) eu demonstrei a seguinte situação:

     

    Na Guia "LANÇAMENTOS" são lançados os dados manualmente.

    Na Guia "RESULTADOS" existe uma formatação que puxa da guia "LANÇAMENTOS" as informações e as coloca nas suas respectivas células e colunas.

     

    O código que criamos anteriormente serve para exportar a imagem mensal dos resultados da guia "ExportFalhasIntExt".

     

    Preciso agora automatizar o preenchimento da planilha que recebe os dados para exportação porém, sem deixar lacunas em branco.

    Explicando melhor:

    Na guia "RESULTADOS" os dados aparecem diferenciando entre EXTERNAS e INTERNAS porém deixam lacunas em branco. Na imagem exportada, não pode ter espaços em branco e sim, uma lista contendo os números das RNC'S INTERNAS e EXTERNAS lançadas uma abaixo da outra.

    Outro detalhe é que a exportação da imagem, deve mostrar apenas as RNC's de cada mês ou seja, JANEIRO, FEVEREIRO, etc..
     

    Como já conseguimos automatizar essa exportação, será que você consegue me auxiliar na criação de um código que traga os dados da guia RESULTADOS e acomode-os dentro do intervalo A1:b30 da guia "ExportFalhasIntExt" para que depois possamos exportar com o código que criamos.

     

    Quando clico em exportar, o objetivo é exportar tudo que foi lançado em JANEIRO, depois FEVEREIRO, depois MARÇO e assim sucessivamente.

     

    Será que deu para entender?

    graficoTemporario3.rar

  5. 53 minutos atrás, Luciana Goes disse:

    @guicrissantos Olá!

    Rodei a planilha aqui e não ocorreu nenhum erro. 

    Quando roda a macro, o arquivo é salvo automaticamente na área de trabalho.

    Qual o erro que aparece aí pra você?

     

    graficoTemporario.zip 13 kB · 0 downloads

    Olá Luciana...

    Muito obrigado por me responder.

    Estranho no meu ele não identifica o caminho onde será salvo a imagem e traz um erro.
    Vou fazer novos testes e caso o erro persista, printo a tela para você ver.

    Por hora, muito obrigado pela atenção.

  6. Boa tarde!

     

    Tenho uma planilha com uma tabela de dados da qual, preciso exporta-la em imagem .jpg ou .png.

     

    No código abaixo, conseguiu gerar a planilha e fazer todo o processo funcionar porém, está me trazendo erro de caminho ou seja, não está exportando a imagem.

    Se alguém puder me auxiliar, ficarei grato.

     

    Citação

    Sub ExportarJPG()
        Dim abaTemporaria As Worksheet
        Dim graficoTemporario As Chart
        
        Range("A1:C3").Select
        Selection.CopyPicture
        
        Set abaTemporaria = Worksheets.Add
        Charts.Add
        ActiveChart.Location where:=xlLocationAsObject, Name:=abaTemporaria.Name
        
        Set graficoTemporario = ActiveChart
        
        graficoTemporario.Paste
        
        With Selection
            .Height = 500
            .Width = 500
        End With
        
        abaTemporaria.ChartObjects(1).Select
        With Selection
            .Height = 100
            .Width = 500
        End With
          
        caminhoDoArquivo = ActiveWorkbook.Path
        nomeDaImagem = "\" & Worksheets("ExportFalhasIntExt").Range("A1") & ".jpg"

        graficoTemporario.Export caminhoDoArquivo & nomeDaImagem
        
        Application.DisplayAlerts = False
        abaTemporaria.Delete
        Application.DisplayAlerts = True
    End Sub

     

    No aguardo,

    Obrigado.

  7. @Muca Costa Só tenho a agradecer.

    Depois que eu entendi o que cada código faz, eu adaptei na minha planilha e deu certinho.

    Muito obrigado mesmo.

     

    Muca, tendo em vista que deu certinho, estou com a seguinte situação.

     

    Tenho três botões na planilha (TODOS FUNCIONANDO) a saber:

     

    • BOTÃO GRAVAR DADOS (Que é exatamente esse código que você criou para mim);
    • BOTÃO OCULTAR LINHAS (Oculta as linhas não preenchidas da planilha e salva o relatório PDF automaticamente);
    • BOTÃO LIMPAR DADOS E REATIVAR LINHAS (Que limpa os dados preenchidos DEPOIS DE GRAVADOS NO BANCO DE DADOS, liberando a planilha para o trabalho do dia seguinte).

    Atualmente esses botões são acionados manualmente e separadamente.

     

    Tudo que eu queria fazer era juntar todos esses comandos no BOTÃO GRAVAR ou seja, quando o operador clicar no BOTÃO GRAVAR, a planilha...

    • GRAVA NO BANCO DE DADOS;
    • OCULTA AS LINHAS NÃO PRENCHIDAS;
    • SALVA O PDF AUTOMÁTICO;
    • ...E JÁ LIMPA OS DADOS PREENCHIDOS.

     

    Se tiver como me ajudar nisso, temos apenas UM DETALHE A SER ACRESCENTADO:

     

    Ao clicar no BOTÃO GRAVAR, deverá vir uma MSGBOX dizendo:

    "Você está encerrando os lançamentos do dia. Tem certeza que deseja prosseguir com a gravação?".

     

    Optando por SIM, deverá vir outra MSGBOX alertando:

     

    Citação

    If MsgBox "APÓS A GRAVAÇÃO, TODOS SEUS DADOS SERÃO APAGADOS. DESEJA REALMENTE APAGAR TODOS OS LANÇAMENTOS?" & Chr(13) & Chr(13) & "ATENÇÃO pois, não será possivel desfazer esta ação.", vbYesNo + vbQuestion, "LIMPAR TUDO") = vbYes Then

     

    Muca, se puder me ajudar nisso, ficarei grato.

    Deixo abaixo os código que já estão funcionado apenas para junção dos mesmos.

     

    GRAVAR DADOS

     

    Private Sub GravarDados_Click()
    Dim Ul As String, i As Integer
        Ul = Planilha11.Cells(Rows.Count, "B").End(xlUp).Row 'Conta linhas preenchidas em B Aba BANCODEDADOS
        For i = 2 To Ul 'Busca, em BANCO DE DADOS, a data correspondente a B6 de OPERAÇÕES
            If Planilha11.Cells(i, 2) = Planilha9.Cells(12, 2) Then 'Se em linha (i) & coluna B de BANCODEDADOS for igual a B12 de OPERAÇÕES, grava os dados
            Planilha11.Cells(i, 6) = Planilha9.Cells(5, 13) 'linha (i) & coluna F de BANCODEDADOS igual a M5 de OPERAÇÕES
            Planilha11.Cells(i, 18) = Planilha9.Cells(3, 13) 'linha (i) & coluna R de BANCODEDADOS igual a M3 de OPERAÇÕES
            Planilha11.Cells(i, 19) = Planilha9.Cells(3, 10) 'linha (i) & coluna S de BANCODEDADOS igual a J3 de OPERAÇÕES
            Planilha11.Cells(i, 20) = Planilha9.Cells(3, 16) 'linha (i) & coluna T de BANCODEDADOS igual a P3 de OPERAÇÕES
            End If
        Next
            Range("B12").Select
            MsgBox "Dados Gravados com Sucesso!", vbInformation, "REGISTRANDO DADOS"
    End Sub

     

     

    OCULTA LINHAS E SALVA PDF

     

    Private Sub OcultarLinhasBC_Click()
        OcultarLinhasBC.BackColor = &H0&
            Application.ScreenUpdating = False
        For Each xRg In Range("G13:G162")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
            End If
    Next xRg
        LimparDadosReativarLinhas.Enabled = True
        OcultarLinhasBC.Enabled = False
        
    Selection.End(xlDown).Select
        ActiveWindow.SmallScroll Down:=-102
        ChDir _
            "D:\998_Google Drive\000_PROVISÓRIO"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "D:\998_Google Drive\000_PROVISÓRIO\" & Range("B168") & "_" & Format(Now, "yyyymmdd_hhmmss") _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=True
        ActiveWindow.SmallScroll Down:=-24
        Range("G13").Select
    End Sub

     

     

    LIMPA DADOS E REATIVA LINHAS OCULTADAS ANTERIORMENTE

     

    Private Sub LimparDadosReativarLinhas_Click()
    LimparDadosReativarLinhas.BackColor = &HFFFF&
        If MsgBox("DESEJA REALMENTE APAGAR TODOS OS LANÇAMENTOS?" & Chr(13) & Chr(13) & "ATENÇÃO pois, não será possivel desfazer esta ação.", vbYesNo + vbQuestion, "LIMPAR TUDO") = vbYes Then
            Range("E13:E162,G13:G162").Select
            Range("G13").Activate
            Selection.ClearContents
            Range("G13").Select
        Rows("13:162").EntireRow.Hidden = False
        OcultarLinhasBC.Enabled = True
        LimparDadosReativarLinhas.Enabled = False
        End If
    End Sub

     

     

    Deus abençoe e muito obrigado.

    No aguardo,

    Guilherme

  8. @Muca Costa muito obrigado pela ajuda.

     

    Funcionou porém, gostaria de te pedir dois favores (se possível).

    Primeiro:

    Poderia por favor descrever para mim o que significa cada informação do código para eu entender e adaptar em outra planilha aqui. Por exemplo: Quero entender o que significa:

     

    If Planilha11.Cells(i, 2) = Planilha9.Cells(6, 2) Then

    Planilha11.Cells(i, 6) = Planilha9.Cells(4, 7)

     

    Segundo:

    No primeiro código, ao inserir a pontuação, chama a macro que solicitação inserção do operador porém...

    após realizar isso tudo, antes de clicar no botão gravar, existe um botão que oculta as linhas em branco. 

    Tendo ocultado, executa a gravação.

    Após gravar, tem um botão que limpa os dados e reabilita as linhas que fora ocultadas anteriormente. Neste momento como vai ocultar os pontos inseridos pelo operador, a macro é chamada novamente para informar o operador. 

    Poderia por favor adaptar esse primeiro código de modo que chama a macro apenas ao tentar inserir a pontuação sem o nome do operador? Uma vez inserida, se tentar apagar os dados (pontuação e nome do operador) não precisa chamar a macro novamente.

     

    Desde já, obrigado.

  9. Boa Noite!

    Tenho uma planilha de vendas as quais, cada operador deve se identificar obrigatoriamente e lançar manualmente seus pontos por venda e o restante a planilha já calcula porém, preciso de duas macros sendo:

     

    Uma que traz a mensagem para o vendedor operador se identificar caso ele tente lançar a pontuação sem ter colocado seu nome na coluna "E" e

    outra para o botão GRAVAR DADOS que transportada os resultados para a guia BANCODEDADOS.

     

    Se alguém puder me auxiliar, deixo anexo a planilha em questão.

     

    Desde já, agradeço.

    VBA GRAVAR DADOS E CÉLULA VAZIA.xlsx

  10. Boa Noite!

     

    Amigos, tenho uma planilha contendo uma série de dados e um código criado para exportação do relatório em pdf.

    Neste código é inserido MANUALMENTE o caminho onde será salvo o arquivo.

    Este caminho SEMPRE DEVERÁ SER no mesmo local (pasta) onde está armazenado a planilha.

    Tudo que preciso é que ao entrar na planilha PELA PRIMEIRA VEZ, o usuário receba um formulário ou janela para percorrer o caminho até onde será salvo os arquivos. Uma vez feito isso, o caminho percorrido ficará gravado no local onde hoje é inserido manualmente e o usuário só precisar repetir o processo, caso a planilha seja removida de seu local original.

    O código atual é o seguinte:

    Citação

    Sub ExportarHorasNormais()
    Dim intevalo As Range
    Set Intervalo = Range("b1:O29")
        ActiveWindow.SmallScroll Down:=-102
        ChDir _
            "C:\Users\guicr\Desktop\SAE\SAE_Gestão de Processos & Horas\SAE_Gestão de Horas"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\guicr\Desktop\SAE\SAE_Gestão de Processos & Horas\SAE_Gestão de Horas\" & Range("b31") & "_" & Format(Now, "yyyymmdd_hhmmss") _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
        ActiveWindow.SmallScroll Down:=-24
    If MsgBox("Relatório de APONTAMENTO DE HORAS salvo com sucesso!", vbOKOnly) = vbYes Then
     End If
    End Sub

     

    Agradeço imensamente a colaboração de alguém que possa me auxiliar na edição deste código.

     

    No aguardo,

    Guilherme Santos

  11. Boa Noite!

    Tenho uma planilha com 5601 linhas e um botão OCULTAR que serve para OCULTAR AS LINHAS BRANCAS mantendo apenas as preenchidas.

    Tudo que eu preciso é que ao clicar neste botão, o excel oculte as linhas não preenchidas e logo depois, PERGUNTE SE DESEJA GERAR O ARQUIVO PDF PARA IMPRESSÃO ou não.

    Optando por SIM, o arquivo é gerado automaticamente.

    Optando por NÃO, apenas executa a ocultação das linhas brancas.

    Estou utilizando o código abaixo, e apesar de estar demorando muito para rodar a macro, ele até executa e gera o arquivo porém, ele não mantem oculta as linhas e está gerando um relatório apenas da primeira página.

    Se alguém puder, me auxiliar, ficarei grato.

    Segue código que estou utilizando:

    Citação

    Private Sub OcultarLinhasControleNF_Click()
        Sheets("CONTROLE DE NF").Unprotect "12345"
        OcultarLinhasControleNF.BackColor = &H0&
            Application.ScreenUpdating = False
        For Each xRg In Range("a4:a5601")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
            End If
    Next xRg
        ReativarLinhasControleNF.Enabled = True
        OcultarLinhasControleNF.Enabled = False
        
    Selection.End(xlDown).Select
        ActiveWindow.SmallScroll Down:=-102
        If MsgBox("DESEJA GERAR ARQUIVO EM PDF PARA IMPRESSÃO?" & Chr(13) & Chr(13), vbYesNo + vbQuestion) = vbYes Then
        ChDir _
            "C:\Users\guicr\Desktop\SAE\SAE_Gestão de Processos & Horas\SAE_Gestão de Processos"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\guicr\Desktop\SAE\SAE_Gestão de Processos & Horas\SAE_Gestão de Processos\" & Range("a1") & "_" & Format(Now, "yyyymmdd_hhmmss") _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=True
        Rows("4:5601").EntireRow.Hidden = False
        OcultarLinhasControleNF.Enabled = True
        ReativarLinhasControleNF.Enabled = False
        End If
        Range("a5602").Select
    Sheets("CONTROLE DE NF").Protect "12345"
    End Sub

     

  12. 45 minutos atrás, deejaywesley disse:

    @deejaywesley bom dia...

     

    ...o que você fez, apenas inibiu aparecer a caixa para direcionamento do diretório porém, mesmo aparecendo a mensagem de "relatório salvo com sucesso" ao final, o mesmo não é gerado.

    Tente para você ver e depois vai na pasta onde está o arquivo.

    Não terá nenhum PDF lá.

     

    Isso é exatamente o que estava acontecendo aqui comigo.

    Ele confirma a criação do arquivo, mas não gera o mesmo.

     

    No aguardo,

    Guilherme.

  13. Boa Noite!

     

    Tenho uma macro criada para exportar determinado intervalo de células em .pdf para pasta de origem porém, a mesma roda, no meio abre a janela como se estivesse me dando opção de escolher a pasta para salvar (não precisa disso pois quero que o arquivo caia dentro do diretório onde está a pasta da planilha) e mesmo cancelando ela traz a mensagem de que o arquivo foi salvo com sucesso porém, não gera nenhum arquivo de fato.

     

    O código é esse:

     

    Citação

    Sub ExportarHORASRETRABALHO()
    Dim intevalo As Range
    Set intervalo = Range("b1:O29")
    Application.FileDialog(msoFileDialogFolderPicker).Show
    If Application.FileDialog(msoFileDialogFolderPicker).SelectedItems.Count = 0 Then Exit Sub
    pasta = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
    Filename = pasta & "\.RelatorioHorasDeRetrabalho.pdf"
    intervalo.ExportAsFixedFormat Type:=xlTypePDF, Filename:="RelatorioHorasDeRetrabalho", _
    includeDocProperties:=True, ignorePrintAreas:=False, OpenAfterPublish:=False
        If MsgBox("Relatório de HORAS DE RETRABALHO salvo com sucesso!", vbOKOnly) = vbYes Then
        End If
    End Sub


     

    Se alguém puder me auxiliar, ficarei grato.

     

    No aguardo,

    Guilherme Santos

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!