Ir ao conteúdo
  • Cadastre-se

Janilson Brito

Membro Pleno
  • Posts

    41
  • Cadastrado em

  • Última visita

  1. Midori, mais uma vez muito obrigado, estou apredendo cada dia mais, e algumas ja consigo desenvolver sozinho. @Midori mais uma vez muito obrigado, estou apredendo cada dia mais, e algumas ja consigo desenvolver sozinho.
  2. Senhores, bom dia! Precisando de ajuda, tenho um arquivo em *.txt que a quantidade e linhas é maior que o excel suporta, fazendo algumas pesquidas achei uma macro que me ajudou muito, porém ainda não consegui chegar no resultado esperado. Inseri uma parte do arquivo para explicar o layout, a informacao que preciso deste arquivo é onde esta o campo APLICACAO (sem o que esta apos o ponto) e o campo INICIO. segue abaixo o que preciso importar para o excel. tentei usar a macro abaixo, funciona criando novas planilhas, porém quando ele importa vem a linha toda como uma unica celula. tentei fazer uma macro a parte para importar somente o que preciso, fucionou, mas não estou conseguindo unificar as duas, ou algo parecido. AGENTE APLICACAO INICIO FIM JOB TYPE STATUS ---------------- --------------------------------------------------- -------------------- -------------------- ----------------------------------------------------------------------------- ------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AGT_TCH01NH DES_DIARIO_CICLICO_15.60165 2022-09-20 17:03:56 2022-09-20 17:04:19 WORKFLOW_STEP005_DOWNGRADE/1 UNIX COMPLETE/0/ AGT_TCH01NH DES_DIARIO.60165 2022-09-20 17:03:56 2022-09-20 17:04:19 WORKFLOW_STEP005_DOWNGRADE/1 UNIX COMPLETE/0/ Esta macro consegui adaptar ao que preciso porém, sem sucesso em trazer apenas os dados que preciso. Sub ImportarTextosGrandes() Dim ultimaFila, fila, contador As Long Dim linea, NomeArquivo As String 'Calcula a última linha da planilha Selection.End(xlDown).Select ultimaFila = Selection.Row Selection.End(xlUp).Select Set oSistemaArquivo = CreateObject("Scripting.FileSystemObject") 'Nome do arquivo a importar NomeArquivo = "C:\temp\REL_APLICACOES.txt" Set arquivo = oSistemaArquivo.OpenTextFile(NomeArquivo, 1, False, -2) fila = 1 contador = 1 Do While arquivo.AtEndOfStream <> True linea = arquivo.ReadLine Cells(fila, "a").Value = linea 'Atualiza barra de status Application.StatusBar = "Lendo linha número = " & contador fila = fila + 1 contador = contador + 1 'Cria nova planilha quando planilha atual está cheia If fila > ultimaFila Then Worksheets.Add after:=ActiveSheet fila = 1 End If Loop End Sub Esta macro montei tranzendo somente o que preciso Sub Colunas() With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;K:\JANILSON\Projetos\DSERIES - EVENTOS APLICACOES EXCLUIDAS\HMG\REL_APLICACOES.txt" _ , Destination:=Range("$A$2")) .Name = "REL_APLICACOES_2" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 850 .TextFileStartRow = 5 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = True .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = True .TextFileOtherDelimiter = "." .TextFileColumnDataTypes = Array(9, 1, 9, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, _ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 _ , 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End sub REL_APLICACOES_clube.txt REL_APLICACOES_clube.rar
  3. Mais uma vez, muito obrigado Midori, ficou ate melhor do que eu estava tentando fazer
  4. Senhores, bom dia! precisando de mais uma ajuda de vocês. E desde já, agradeço muito a ajuda. Estou tentando inserir uma condicao de erro em uma macro VBA. O que eu preciso: Abrir um arquivo variavel e ir para determinada planiha (aba) tambem variavel. Até ai ja consegui. O que não estou conseguindo fazer, caso a planilha (aba) não exista, salva e fecha o arquivo. Caso exista a planilha (aba) deletar a mesma. Segue abaixo o codigo que estou tentando utilizar Sub deletaplanilha() Dim myArqName As Variant Dim mySheetName As Variant myArqName = InputBox("Digite o Mês e Ano sem espaço: Ex: novembro2022") mySheetName = InputBox("Digite o nome da planilha - Ex: 2410-3010") Workbooks.Open ("C:\OcorrenciasOpen" & myArqName & ".xlsx") Windows("OcorrenciasOpen" & myArqName & ".xlsx").Activate Sheets(mySheetName).Select On Error Resume Next mySheetNameTest = Worksheets(mySheetName).Name If Err.Number = 0 Then MsgBox "A planilha com o nome ''" & mySheetName & "'' não existe nesta pasta de trabalho." Else Err.Clear ActiveWorkbook.Save ActiveWindow.Close End If ActiveWindow.SelectedSheets.Delete ActiveWorkbook.Save ActiveWindow.Close End Sub
  5. Senhores, bom dia! Mais uma vez preciso de uma ajuda, estou montando uma macro com um Criterial = Variant. executando a macro desta forma funciona perfeito. ActiveSheet.Range("$A$1:$Y$27215").AutoFilter Field:=24, Criteria1:= _ ">=24/10/2022", Operator:=xlAnd porém o que eu preciso é algo parecido com isso, no campo criterial preciso que seja feito o filtro com a opcao >= que variavel Data Quando executo desta forma faz o filtro porém não retorna nenhum valor. Desde já agradeço. Sub Macro2() ' Dim Data As Variant Data = InputBox("Digite Data da Extração - Ex: 24/11/2022") ' ActiveWindow.LargeScroll ToRight:=6 ActiveSheet.Range("$A$1:$Y$27215").AutoFilter Field:=24, Criteria1:= _ ">=" & Data, Operator:=xlAnd Range("A1").Select End Sub
  6. Senhores, bom dia! mais uma vez necessito de ajuda. Estou montando um grafico, porém não esta ficando como eu gostaria. Existe 04 series no mesmo, onde meu principal seria o INICIO. sempre inicia as 21:00 e as outras series posterior a esse horario, invadindo o dia posterior. a solucao emergencial e paliativa que fiz, foi colocar a data a frente dos horarios tipo abaixo, porém não fica viavel INICIO ABERTURA VALIDACAO FIM 01/12/2021 21:00 02/12/2021 02:01 02/12/2021 03:37 02/12/2021 06:38 tentei criar uma nova celula onde concatenasse a data e hora, porém quando seleciono a area para criar o grafico, no eixo vertical fica com a data 00/01/1900. segue um modelo em anexo, caso alguém consiga me ajudar. modelo.xlsx
  7. Basole, mais uma vez muito obrigado por sua determinacao e nos ajudar, ficou exatamento como eu imaginava e precisava.
  8. Basole, obrigado pela dica, e desculpe a demora no novo teste. Com a sua dica, consegui identificar que dava erro porque ja existia um arquivo com o mesmo nome no diretorio \backup, vou tentar ver como faço para que caso haja um arquivo com o mesmo nome, o mesmo seja substituido.
  9. @Basole boa tarde! obrigado pelo retorno, fiz conforme indicado, colocando a "\" no final da linha, porém a macro não faz a movimentacao dos arquivos para pasta backup. permanencem todos na pasta de origem.
  10. Senhores, bom dia! Tenho um planilha em Excel, onde a mesma faz atraves de uma macro a importacao de varios arquivos *.txt de um determinado diretorio. porém o que eu gostaria de fazer é apos finalizar a importacao de todos os arquivos, fosse feita a movimentacao dos mesmos para uma pasta backup. ex: \\nome_do_servidor\indicadores (diretorio de origem) onde fica todos os arquivos. gostaria de mover todos arquivos *.txt desta pasta para \\nome_do_servidor\indicadores\backup fazendo algumas pesquisas consegui chegar no codigo abaixo, porém não esta funcionando Sub MoveArquivos() Dim fso Dim PastaOrigem As String, PastaDestino As String PastaOrigem = "\\nome_do_servidor\INDICADORES" PastaDestino = "\\nome_do_servidor\INDICADORES\backup" Set fso = CreateObject("Scripting.FileSystemObject") On Error Resume Next If Not fso.FolderExists(PastaOrigem) Then MsgBox PastaOrigem & " Não é uma pasta válida.", vbInformation, "Office, VBA e VSTO" ElseIf Not fso.FolderExists(PastaDestino ) Then MsgBox PastaDestino & " Não é uma pasta válida.", vbInformation, "Office, VBA e VSTO" Else fso.MoveFile (PastaOrigem & "\*.txt"), PastaDestino End If If Err.Number = 53 Then MsgBox "Arquivo não encontrado." End Sub
  11. @Patropi obrigado meu amigo, ajudou muito nas minhas duvidas. Era exatamente isso que não conseguia enxergar para resolver o problema mais uma vez obrigado amigo, era exatamente o que precisava
  12. Senhores, bom dia! preciso de uma ajuda. estou tentando fazer um grafico onde os dados necessito usar o PROCV com duas condicoes, mas não esta saindo o resultado que preciso. tenho a planilha dados grafico ex: preciso procurar o conteudo da celula A4(nome do processo) e da M12(data do processo) na planilha dados criei duas colunas auxiliares em uma colocado a funcao na coluna D =A4&"|"&B4 e na outra na coluna E =B4 (formatando a celula apenas para data dd/mm/aaaa) feito isso tentei usar a funcao na planilha DADOS GRAFICO =PROCV ($A4&"|"&$M2;DADOS!D:F;3 porém me traz o resultado de outro fluxo e não o que esta informado na funcao PROCV tipo: na funcao preciso procurar DWMX_FLUXO_DIARIO na data do dia 12, esta trazendo como resultado o fluxo do DW_FLUXO_DIARIO do dia 12. segue anexo a planilha INDICADORES.rar
  13. Edson, obrigado pelo auxilio, ficou exatamente como eu precisava.
  14. @Edson Luiz Brancoboa tarde! muito obrigado pelo ajuda, funcionou perfeito. agora me corrija caso eu esteja errado, seguindo o raciocínio. se eu precisar acrescentar mais uma opção no like, poderia ser assim? Function ContaN3(cél As String) As Long Dim Linhas As Variant, i As Long Linhas = Split(cél, vbLf) For i = 0 To UBound(Linhas) If Not (LCase(Linhas(i)) Like "*errclear*" Or "*monit*") And _ (Linhas(i) Like "[*]*" Or Linhas(i) Like "[0-9]*") Then _ ContaN3 = ContaN3 + 1 Next i End Function

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