Ir ao conteúdo
  • Cadastre-se

Ma

Membro Pleno
  • Posts

    32
  • Cadastrado em

  • Última visita

posts postados por Ma

  1. @Basole Olá, boa tarde.

     

    Exatamente isso. Quero automatizar meu trabalho. Criei uma pasta com informações fictícios para que você ter uma noção. No arquivo tem 3 abas '"xxx", "yyy", "zzz". A aba "xxx" precisar ser transformada em pdf com um determinado nome "PDF1" e isso deve ser feito para as outros 20 arquivos. Será sempre a primeira aba.

    Para o caso de exportar para outra pasta também. Sempre a primeira aba, mas neste caso o arquivo tem um filtro então manualmente eu copio para outra pasta, tiro o filtro, transformo tudo em valor, converto o gráfico para uma imagem e ai depois filtro tudo novamente para que a planilha fique certa. Isso também dá para automatizar?

    Ai preciso nomear com o mesmo nome do pdf e salvar na mesma pasta do pdf.

    Obrigada!

    exemplo.xlsx

    adicionado 2 minutos depois

    exemplo1.xlsx

  2. Olá,

    Bom dia.

     

    Estou trabalhando com 20 relatórios que são gerados e precisam ser exportados para PDF e salvos em uma determinada pasta, cada um com um determinado nome. Gostaria de uma ajuda para criar uma macro que possa fazer isso.

    Além disso, preciso copiar uma aba de cada planilha para uma nova pasta, salvar tudo como valor e os gráficos com imagem e salvar. Conseguiria automatizar isso também?

     

    Obrigada desde já.

  3. @Basole Boa tarde...tudo bem?

    Gostaria de saber se consegue me ajudar. Ainda estou mexendo na planilha que você me ajudou a montar e no painel de controle onde os status "em andamento" e "pendente" aparecem, toda vez que atualizo alguma informação nas outras planilhas, alguns registros desse painel duplicam.

    Você tem ideia do que pode estar acontecendo?

  4. @Basole  Tudo bem?

     

    Queria te pedir uma ajuda...
    No código abaixo que você me ajudou a construir, acrescentei  2 novas abas "CEI" e "CUBOSAS", porém elas não estão sendo atualizadas automaticamente no diário de bordo como as outras.

    Poderia dar uma olhada no código, por favor?

     

    Function Atualiza_Quadro_Formata() '(rng As Range)
    ' ****** Funcao que "puxa" as informações das abas p/ a aba Diario de Borde e formata(color) as linhas de acordo c/ o status *****

    Dim c As Range, rng As Range
    Dim ws2 As Worksheet
    Dim ws1 As Worksheet
    Dim i As Long, uL As Long
    Dim WS_Count As Integer
    Dim y As Integer
    Dim X As Long, XD As Long, XDB As Long

    Application.ScreenUpdating = False

    On Error GoTo Erro
    i = 8 ' Nº da 1ª linha da aba Diario de bordo que recebera dados

          WS_Count = ActiveWorkbook.Worksheets.Count  'Define a qtd total de Planilhas (abas)
         
          Set ws2 = Sheets("diário de bordo")
          Set ws1 = ActiveSheet

    With ws2

          uL = .Range("A8").CurrentRegion.Rows.Count
               .Range(.Cells(i, 1), .Cells(uL + 1, 8)).ClearContents ' Limpa os dados da aba diario de bordo
               .Range(.Cells(i, 1), .Cells(uL + 1, 8)).Interior.ColorIndex = xlColorIndexNone 'Limpa formatacao (color) do intervalo da aba diario de bordo
           
    For y = 1 To WS_Count
            
          If Sheets(y).Name <> "Diário de Bordo" And Sheets(y).Name <> "Entrada" Then
              Sheets(y).Activate
           If ActiveSheet.Name = "Invs e Partic" Then X = 12: XD = 4: XDB = 4
           If ActiveSheet.Name = "Auditoria" Then X = 10: XD = 3: XDB = 1
           If ActiveSheet.Name = "Orgão Regulador" Then X = 9: XD = 3: XDB = 6
           If ActiveSheet.Name = "Jurídico" Then X = 6: XD = 3: XDB = 5
           If ActiveSheet.Name = "Demandas Internas" Then X = 11: XD = 4: XDB = 3
           If ActiveSheet.Name = "Caixa do SI" Then X = 11: XD = 4: XDB = 2
           If ActiveSheet.Name = "CEI" Then X = 7: XD = 4: XDB = 7
           If ActiveSheet.Name = "CUBOSAS" Then X = 8: XD = 6: XDB = 8
             
           uL = ActiveSheet.Cells(Rows.Count, X).End(xlUp).Row

           Set rng = Range(Cells(2, X), Cells(uL, X))

    For Each c In rng

    '       o uso de *(asterisco) -> permite que voce inseria -> Ex.: Pendente ou pendente
          If c Like "*endente" Or c Like "*m *ndamento" Then
          .Cells(i, XDB).Value = ActiveSheet.Cells(c.Row, XD).Value ' preenche os dados na aba diario de bordo

          If c Like "*endente" Then .Cells(i, XDB).Interior.ColorIndex = 44  ' preenche a formatacao(color ) laranja
          If c Like "*m *ndamento" Then .Cells(i, XDB).Interior.ColorIndex = 24 ' preenche a formatacao(color ) azul

           i = i + 1 ' define o nº da proxima linha (aba) diario de bordo

    End If

    Next

    End If

    Next
    Application.ScreenUpdating = True
    If MsgBox("Deseja visualizar a aba " & ws2.Name & " ?", vbQuestion + vbYesNo, "Aviso") = vbYes Then
    .Activate
    Else
    ws1.Activate  ' Ativa a aba Que foi alterada
    End If

    End With

    Exit Function

    Erro: Application.ScreenUpdating = True
    MsgBox Err.Description

    End Function

     

  5. @Basole Outra coisa que eu percebi é que quando ele faz aquela busca de pendente e em andamento e pinda as células no Diário de Bordo, ele está pintando a linha toda. Não tem como pintar só a célula da coluna referente? Por exemplo: tenho uma informação pendente na aba de auditoria, ai ela ficará em amarelo no diário de bordo, só na coluna de auditoria. 

  6. Muito obrigada @Basole !!
    O estranho é que eu inclui o comando em outra planilha onde estava o resto do código e apesar das abas serem as mesmas o código dá um erro de execução.

    Estou incluindo dessa vez a planilha com todo o código que eu estou montando e que inclusive você tem me ajudado bastante. Obrigada de novo :)

    A parte da pesquisa também, não está puxando de outros campos, além do txtID, o que eu acho estranho também porque eu reescrevi e o código aparentemente está correto.

    Acredito que eu esteja comendo bola em alguma parte.

    Planilha Completa

  7. @Basole Exatamente isso.
    Estou mandando a planilha certa agora com todas as abas que vão ter informações para serem puxadas para o diário de bordo.
    Você vai notar de na aba "diário de bordo" dessa planilha tem um cabeçalho com o nome das planilhas e ai em cada uma das colunas eu preciso buscar a informação necessária na respectiva aba (informações pendentes e em andamento).
    A coluna com a informação que eu preciso esta com "xxxx" em cada uma das abas.

     

    Obrigada de novo.

     

  8. Oi galera,

    Bom dia.

     

    Estou montando uma planilha onde tenho algumas atividades para serem realizadas e o status de cada uma delas que pode ser: "Pendente", "Em Andamento" e "Concluído".

    Preciso encaminhar todos os dias um quadro com as atividades que estão pendentes e em andamento e por essa razão queria ajuda.

    A minha ideia era que o quadro conseguisse puxar automaticamente da tabela as informações, ou seja, ele faria uma busca na tabela, encontraria as atividades que estão como pendente e em andamento, levaria o campo "atividade" para o quadro (este campo será a descrição da atividade) e ai pintaria a célula com a cor correspondente (amarelo para pendente e azul para em andamento).

    Eu tentei fazer, mas não consegui, pois quero que ele busque as informações e na pesquisa que eu montei ele passa de célula em célula e ai o quadro fica com algumas linhas vazias por conta das células que estão com o status concluído. O que eu desejo é que a busca ignore os concluídos e vá colocando no quadro, linha após linhas, aqueles que estão pendentes e se for possível, quando a tabela for atualizada ele tire do quadro a atividade concluída e na mesma célula ele busque o próximo pendente e preencha.

    Alguém consegue me auxiliar?

    Obrigada!

    TESTE_FORMATAÇÃO.xlsx

  9. Galera,

    Boa tarde.

     

    Estou com outros dois problemas no meu código e já tentei de todas as formas e não dá certo.

    Um deles é na hora de pesquisar um registro (Erro na aba Demandas Internas) e o outro no botão de excluir. (Aba Auditoria).

    Segue exemplo.

     

    Obrigada mais uma vez!

    teste_vba.xlsm

    O problema em excluir o registro acontece as vezes, no seguinte trecho do código:

    Private Sub btnExcluir_Click()

         'Declarar a variável Resp para receber uma resposta
         Dim Resp As Integer
        
         'Fazer a busca do registro digitado pelo usuário
         With Worksheets("Auditoria").Range("A:A")
             Set c = .Find(txtID.Value, LookIn:=xlValues, LookAt:=xlWhole)
         End With
        If Not c Is Nothing Then
             Resp = MsgBox("Tem certeza que deseja excluir o " & _
             "Registro?", vbYesNo, "Confirmação")
             If Resp = vbYes Then
                c.Select
                 Selection.EntireRow.Delete
                 'Limpar as caixas de texto
                txtID = Empty
                txtDataRecebimento = Empty
                txtNomeEmpresa = Empty
                txtCNPJ = Empty
                txtDataSolicitada = Empty
                txtNCarta = Empty
                txtAuditores = Empty
                txtDataEnvio = Empty
                txtResponsavel = Empty
                cbostatus = Empty
                ListBox1.Clear
             End If
         End If
    End 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

×
×
  • Criar novo...

 

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!