Ir ao conteúdo
  • Cadastre-se

Wendell Menezes

Membro Pleno
  • Posts

    550
  • Cadastrado em

  • Última visita

Tudo que Wendell Menezes postou

  1. Bom dia, Olhando a macro anterior não me parece que o arquivo importado seja idêntico à planilha de destino. Acredito que a primeira linha que contém o nome dos 3 bancos não exista nos demais arquivos. Se for isso, segue minha versão da macro. CONTROLE REMESSA PAGAMENTOS - COD - WM.zip
  2. Bom dia, Existem algumas formas de fazer isso, como por exemplo usando a fórmula "SE" e "ÉERROS" para testar se o PROCV irá encontrar o resultando antes de tentar na próxima aba. A fórmula ficará grande porque terá que fazer isso para cada aba. Na minha visão o problema aqui está no design da planilha. Não vejo necessidade de separar uma quantidade tão pequena de CTEs por mês. Eles poderiam estar todos em uma única página, o que facilitaria a sua vida. Se houvesse alguma necessidade de contar CTEs por mês ou algo assim você poderia utilizar apenas uma tabela dinâmica.
  3. Eu não sei como forçar a funcionalidade a aparecer na sua versão, mas se você postar um exemplo de PDF e explicar qual parte dele quer importar, posso te passar um arquivo com uma macro que faça a conexão com o PDF.
  4. Bom dia, Encontrei apenas 1 das 3 coisas que eu pedi. Pode enviar um exemplo de arquivo que a macro importa, ou seja, um ou mais arquivos de remessa e explicar qual é o critério para considerar a linha como duplicada? Seria a combinação das colunas A e B?.
  5. @Dammond , segue versão do arquivo que inclui o print. Altere essa linha para controlar o tamanho da imagem: Set cht = ActiveSheet.ChartObjects.Add(Left:=10, Width:=750, Top:=10, Height:=250) Essa parte define quais objetos NÃO devem fazer parte da imagem: For Each Shape In ActiveSheet.Shapes If Shape.Name <> "Rolagem Horizontal 1" And Shape.Name <> "Retângulo Arredondado 4" And Shape.Name <> "exemplo" And Shape.Name <> "Temp Chart" Then Shape.Select False End If Next Copy of TESTE.zip
  6. Boa noite, Você poderia postar a planilha que possui a macro e um exemplo de arquivo que ela importa? Qual seria o critério para saber que os dados já estão na planilha? Você que a macro simplesmente ignore quando os dados já estiverem importados ou quer que eles se atualizem sem repetir?
  7. Bom dia, Sim, é possível. Abaixo um exemplo. Antes de testar você precisa: 1. Permitir que macros acessem o projeto VBA através do Trust Center: 2. Ativar a refêrencia abaixo: Sub COUNT_CODE_LINES() Dim VBP As VBProject Dim Module As VBComponent Dim lCodeLines As Long On Error GoTo Err: Set VBP = ThisWorkbook.VBProject For Each Module In VBP.VBComponents lCodeLines = lCodeLines + Module.CodeModule.CountOfLines Next MsgBox lCodeLines Err: Set VBP = Nothing End Sub
  8. Bom dia, É possível sim, mas você pode postar um exemplo do arquivo que você utiliza para resolvermos isso na primeira tentativa?
  9. Bom dia, Você pode utilizar a fórmula VSTACK para combinar as 2 matrizes. Segue minha versão do arquivo como exemplo: plan1_WM.xlsx
  10. Bom dia, Estranho, pra mim funciona. Como você utiliza as campos DATA e RECE BIDO da "Tabela2" e quer trazer apenas a soma de valores da "Tabela24" então a sua tabela primária é a "Tabela2" e a "Tabela24" é a externa. Segue imagem e como ficou e minha versão do arquivo para download: A_Pagar e receber - tabela.xlsxA_Pagar e receber - tabela.xlsxA_Pagar e receber - tabela.xlsx
  11. Boa noite, Experimentou trocar a ordem da relação?
  12. Pode postar sua planilha e um print de como gostaria que o e-mail ficasse?
  13. Olá, tudo bem se for com a ajuda do VBA? Veja a minha versão do arquivo (fórmula na coluna "Q"): CONFERENCIA BOLaO.zip
  14. Boa tarde, tudo bem e com você? Experimente esse código: Sub INSERT_ROW() Dim strName As String Dim rngLookUp As Range, rngCell As Range Dim i As Long, j As Long strName = Range("D1").Text 'Célula onde está o nome procurado Set rngLookUp = Range("B:B") 'Coluna onde o nome deverá ser procurado i = Excel.WorksheetFunction.CountIf(rngLookUp, strName) If i > 0 Then For Each rngCell In rngLookUp If strName = rngCell Then j = j + 1 End If If i = j Then rngCell.Offset(1, 0).EntireRow.Insert Exit For End If Next End If End Sub
  15. Acredito que isso não será resolvido enquanto o Excel converter e salvar as informações em linguagem binária. Ou seja, deve permanecer assim por muitos anos. Abaixo um artigo da Microsoft sobre o assunto. https://support.microsoft.com/en-us/help/78113/floating-point-arithmetic-may-give-inaccurate-results-in-excel
  16. A macro abaixo salvaria como "Limite 2017.09.04", assim os arquivos ficariam infinitamente em ordem alfabetica. Sub Save() Const Folder As String = "C:\Users\wende\Desktop\" 'Pasta onde o arquivo será salvo ThisWorkbook.SaveAs Folder & "Limite " & Format(Date, "yyyy.mm.dd") & ".xlsx", 51 End Sub
  17. Boa noite, Sim, é possível, mas você precisa postar uma cópia da sua planilha e indicar exatamente qual é o formulário e como os dados devem ser salvos (onde exatamente cada valor do formulário é salvo). Se o form possui 2 textbox e 2 combobox como você poderia salvar 10 formecedores? Se for de um a um, o que acontece depois do número 10?
  18. Sub Update() Dim Folder As String Dim Template As Workbook Dim LC As Integer, c As Integer Folder = "C:\Users\wende\Desktop\Relatórios\" 'Coloque o caminho da pasta onde os arquivos serão salvos LC = Cells(1, Columns.Count).End(xlToLeft).Column Application.ScreenUpdating = False Application.DisplayAlerts = False For c = 3 To LC Set Template = Workbooks.Open(Folder & ThisWorkbook.Sheets(1).Cells(1, c) & ".xlsx") ThisWorkbook.Sheets(1).Range(Cells(2, c), Cells(55, c)).Copy Template.Sheets(1).Range("K10") Template.Close True Next Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox LC & " arquivos modificados em:" & vbLf & Folder, vbInformation, "# Informação" End Sub
  19. Experimente assim: Function CelulasParaMatriz(ByVal Matriz As Range) Dim Cell As Range Dim Body As String For Each Cell In Matriz Body = Body & Cell.Row & " = " & Format(Cell, Cell.NumberFormat) & vbLf Next MsgBox Body, vbInformation, "Informação" End Function
  20. Pode postar a planilha e me dizer qual é a linha com esses valores? O 5000 certamente pode ser formatado, mas achei estranho esse 10 que virou 1.
  21. Essa função retorna os endereços IPv4 e IPv6. Function WF_GET_IP_ADDRESS() As String Dim WMIService As Object, IPConfig As Object Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") For Each IPConfig In WMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE") If Not IsNull(IPConfig.IPAddress) Then WF_GET_IP_ADDRESS = WF_GET_IP_ADDRESS & Join(IPConfig.IPAddress, ", ") End If Next End Function
  22. 1. Coloque o código abaixo na planilha_relatorio.xls 2. Ajuste os dois caminhos conforme a sua necessidade, não se esqueça da "\" no final do caminho da pasta. 3. Rode a marco e espere até que uma mensagem avise que o código terminou de rodar, vai levar entre 1-2 minutos. 4. Reconcilie alguns arquivos para confirmar que é isso q você precisa. Sub Split() Dim Folder As String Dim Template As Workbook Dim LC As Integer, c As Integer Folder = "C:\Users\wende\Desktop\Relatórios\" 'Coloque o caminho da pasta onde os arquivos serão salvos Set Template = Workbooks.Open("C:\Users\wende\Desktop\planilha_de_calculos.xls") ' Coloque o caminho da planilha de cálculos em branco LC = Cells(1, Columns.Count).End(xlToLeft).Column Application.ScreenUpdating = False Application.DisplayAlerts = False For c = 3 To LC ThisWorkbook.Sheets(1).Range(Cells(2, c), Cells(55, c)).Copy Template.Sheets(1).Range("E10") Template.SaveAs Folder & ThisWorkbook.Sheets(1).Cells(1, c) & ".xlsx", 51 Next Template.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox LC & " arquivos criados em:" & vbLf & Folder, vbInformation, "# Informação" End Sub
  23. você pode atribuir apenas 1 macro por objeto (botão, lista suspensa, etc), mas essa única macro pode acionar diferentes ações dependendo do valor da lista. Por exemplo: Sub Lista() With Shapes("Drop-down 2").ControlFormat Select Case .List(.ListIndex) Case "501" 'seu código aqui Case "502" 'seu código aqui End Select End With End Sub
  24. Pode postar um exemplo do seu relatório, onde a macro deveria funcionar?

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!