-
Posts
48 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por guicrissantos
-
-
stou precisando desenvolver uma no PowerBI para recuperar o saldo.
Lembrando que:
O SALDO INICIAL de 01/01/22 é exatamente o SALDO FINAL de 31/12/21 e assim sucessivamente.
Minhas colunas são:
Calendário
Categoria (R/D)
Valor (Que traz RECEITAS (R) e DESPESAS(D) tudo positivo
Alguém poderia me auxiliar por favor?
-
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.
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?
-
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.
-
6 horas atrás, Luciana Goes disse:
Luciana!
Sensacional!
Apenas um detalhe...
A imagem precisa de alguma forma, listar as RNC's por mês ou seja, terei que gerar uma imagem de JANEIRO outra de FEVEREIRO, outra de MARÇO e assim sucessivamente.
O que você me sugere neste caso?
-
Em 05/07/2021 às 13:57, Luciana Goes disse:
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?
-
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ê?
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. -
Boa Noite!
Será que alguém pode me ajudar? -
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çãoSub 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 SubNo aguardo,
Obrigado.
-
@Muca Costa Entendido e resolvido.
Deu certinho agora meu amigo.
Tudo funcionando perfeitamente.
Muito obrigado pela atenção.
Sucesso.
-
27 minutos atrás, Muca Costa disse:
Tem que ter o mesmo nome das sub's que ocultam, limpam e reativam...
Sim, mas a ideia é eliminar os dois botões (OCULTAR) e (REATIVAR) e concentrar tudo num unico botão "GRAVAR DADOS"
Se eu tiver entendido errado, o que eu preciso alterar para dar certo?
-
@Muca Costa Sr. Muca...
Os dizeres e células são exatamente as que mencionei nos tres códigos acima.
Só preciso que unifique-as por favor.
Copiei e colei este seu último e substitui no meu código, mas estão dando erro.
32 minutos atrás, Muca Costa disse:OcultarLinhasBC_Click
Está dando:
Erro de compilação:
'Sub' ou 'Function' não definida.
-
@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çãoIf 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 SubOCULTA 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 SubLIMPA 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 SubDeus abençoe e muito obrigado.
No aguardo,
Guilherme
-
@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.
-
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.
-
12 horas atrás, Edson Luiz Branco disse:
@Edson Luiz Branco, deu certinho.
Muitíssimo obrigado.
Deus abençoe aí e muito sucesso.
Até a próxima.
-
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çãoSub 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 SubAgradeço imensamente a colaboração de alguém que possa me auxiliar na edição deste código.
No aguardo,
Guilherme Santos
-
Em 06/03/2021 às 22:50, RafaVillani disse:
Amigo, troque seu código na parte do msgbox por esse.
Dim resposta as interger resposta = msgbox "Deseja gerar arquivo para impressao?", vbyesno if resposta = vbyes then 'seu codigo aqui else 'seu codigo aqui end if
Resolvido meu amigo Rafa.
Muito obrigado.
-
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çãoPrivate 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 -
@deejaywesley @deejaywesley Deu certinho meu amigo.
O arquivo estava gerado em MEUS DOCUMENTOS.
Muito obrigado.
-
11 horas atrás, guicrissantos disse:
...aí sim.
Resolvido amigo.
Obrigado pela dica.
-
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.
-
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çãoSub 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
-
Em 16/02/2021 às 17:28, Patropi disse:
Não, você tem que marcar a postagem #6 que é do InforMira, e você marcou a tua.
Acho que você tem que desmarcar a tua primeiro e depois clicar na resposta correta.
[]s
...e como eu desmarco a minha?
kkk...to perdido aqui.
-
@Patropi Desculpe.
Estou aprendendo ainda.
Fiz certo agora?
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
Código VBA que una duas guias numa só automaticamente
em Microsoft Office e similares
Postado
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?