Ir ao conteúdo
  • Cadastre-se

djacy.neto

Membro Pleno
  • Posts

    52
  • Cadastrado em

  • Última visita

Tudo que djacy.neto postou

  1. Tenho uma remessa de arquivos que recebo mensalmente(cerca de 380mil) Preciso separar em pastas contendo no máximo 2mil por pasta... Hoje preciso fazer na mão queria saber se eu consigo fazer um script que faça essa separação
  2. tenho uma planilha que uso para fazer conversão de dados. basicamente eu trabalho com duas sheets uma eu jogo os dados brutos e na outra eu tenho as formulas que limpam os dados de acordo com o que eu quero. acontece que na segunda eu tenho uma coluna que uso como indicador deletar/nao deletar. quando eu aciono este filtro, a planilha fica uns 10 a 15min processando e com a informação (não respondendo) no cabeçalho da pagina. eu atualmente estou com uma maquina que posso considerar potente para que este processo seja rápido. e quando eu abro o gerenciador de tarefas, o grafico de desempenho mostra que nao esta sendo usado nem 10% do CPU e também nao tem um uso da memoria. existe alguma configuração a fazer que faça a maquina priorizar os o excel? configuração da maquina: DELL XPS 8940 CORE I7 RAM 16GB GTX 1660 HDD 1TB SSD 256GB
  3. pessoal preciso organizar o arquivo da empresa, sao mais de 100mil pdfs com os contratos dos clientes, os arquivos estão nomeados com os numeros de contrato. queria conseguir um meio de dividir em lotes, alguma ideia de como fazer isso? so w10
  4. @Midori com arquivos em xlsx deu super certo! uma pergunta, se o arquivo aberto estiver no formato csv eu preciso declarar? eu tentei fazer com csv e ele deixa todo conteudo na 1 coluna e insere o cabeçalho. fica algo assim: ele traz todo cabeçalho na celula a1
  5. @Midori desculpa demora, precisava de tempo p testar, nesse seu script ele define cabeçalho fixo certo? meu problema é que o cabeçalho nao existe na planilha. ta ai exemplo1 como vem a planilha e exemplo2 como ela deve ficar.
  6. @Midori isso! acho que eu nao soube explicar, a macro abre os arquivos ai inclui uma linha para cabeçalho (fixo) depois salva e fecha
  7. pessoal, tenho uma pasta com cerca de 500 planilhas todas no mesmo formato e no mesmo layout. e eu preciso por o mesmo cabeçalho. eu consigo fazer uma macro para isso?
  8. pessoal tenho uma macro que pega um arquivo dentro de uma pasta, converte ele de txt com largura fixa para csv e salva em uma outra pasta. eu recebo cerca de 400 a 450 arquivos neste formato para conversão, a macro ficou muito grande e dividi em 4 partes. até ai ok porque funciona bem, porém existe uma variação nos arquivos exemplo: mes passado eu recebi o arquivo djacy_txt e este mes eu nao recebi, então quando a macro chega no arquivo djacy_txt e nao encontra ele para me diz que houve um erro porque nao encontrou o arquivo. gostaria de saber como eu faco para por um se (if) na macro p que ela faça assim: se encontrar o arquivo XXXX.txt faça (macro de conversão) senao procurar proximo arquivo. Abaixo o codigo: Workbooks.OpenText Filename:="P:\MACRO P CONVERSÃO\VBA\BRUTO\djacy.txt", _ Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array( _ Array(0, 1), Array(5, 1), Array(12, 1), Array(20, 1), Array(29, 1), Array(31, 1), Array(76, _ 1), Array(87, 1), Array(92, 1), Array(93, 1), Array(104, 1), Array(107, 1), Array(113, 1), _ Array(125, 1), Array(145, 1)), TrailingMinusNumbers:=True Columns("O:O").Select Selection.ClearContents Range("Q5").Select ActiveWindow.SmallScroll Down:=-18 dirCopia = "P:\MACRO P CONVERSÃO\VBA\CONVERTIDO\" nomeCopia = "djacy" ActiveWorkbook.SaveAs Filename:= _ dirCopia + nomeCopia, _ FileFormat:=xlCSV, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Workbooks("marcelo.csv").Close SaveChanges:=False
  9. @Pedro Estevan tudo bem! você precisa aplicar estas condicoes no excel ou no sql? se for no excel uma funcao se ja consegue atender bem...
  10. @drlnss tudo bem? neste caso, como nenhuma das alternativas dos amigos deu certo, tenta dessa forma: with interno as ( select SUM(servicointerno.valor)as valor_total from servicointerno), externo as ( select SUM(servicoexterno.valorServico)as valor_total from servicoexterno), total as ( select * from interno union select * from externo) select sum(valor_total) from total espero ter ajudado! Abs
  11. pessoal, conheço bem pouco os comandos pelo cmd, hoje, eu tenho cerca de 200 arquivos em csv com mesmo layout, eu entro pelo cmd e digito o comando: copy *.csv uniao.csv ai ele copia todos os arquivos e cola em um único arquivo. o que eu preciso é fazer este mesmo processo mais que acrescente uma coluna com o nome do arquivo para identificar de onde vem aqueles dados.
  12. @Luis Geraldo essa planilha voce vai ter uma para cada mes ou quer ter uma para trabalhar direto? porque essa meta para fazer calculando o decréscimo de dias do mes precisa de uma tabela só para fazer essa conta. caso nao seja necessario a meta, a dinamica fica bem simples, ela mostra assim: quando a gente faz a segmentação de dados como eu fiz no arquivo em anexo, usando o Destino como critério, fica dessa forma: sem seleção: Destino Arcos: Destino Volta Redonda: se preferir sem a segmentação, deixa dessa forma: Pasta3.xlsx
  13. @Luis Geraldo Nesse caso a meta é diaria e aplica valores diferentes para cada destino certo? voce pode na coluna da meta aplicar a formula SE para determinar os valores...(=se(coluna_destino="arcos";valor_meta_arcos;valor_meta_volta_redonda) isso se as metas estiverem fixas. agora se a meta for de acordo com o valor acumulado, aconselho fazer um calculo de porcentagem em cima dele
  14. voce precisa criar uma tabela dinamica em cima desta base e cria o grafico a partir da dinamica... da uma olhada no anexo se é isso que você precisa. Pasta2.xlsx
  15. acho que esta ligação ai esta errada... você esta com um conector ide femea certo, verifica se esta conectando negativo com negativo e 12v com 12v
  16. perfeito! muito bom!!! super obrigado!!!
  17. ideal seria somente o nome, sem o caminho e o formato, tipo Arquivoo001 mais é isso
  18. @ricardo_br Exatamente... fosse poucos casos nem precisaria de script... adicionado 1 minuto depois isso! ja rodei bastante e estou juntando as info que consegui, descobri que usando bat eu consigo converter os arquivos em csv, e no script que você postou consigo modelar as colunas de acordo com cada limitação e apos isso, eu consigo transformar os 700 arquivos em um unico csv para importar para o sql...
  19. pessoal, tenho um script para fazer a separação de arquivos csv, o que o script faz e abrir o arquivo e modela as colunas, gostaria de saber o que eu posso mudar nesse script para que seja criada uma ultima coluna e repetir nas linhas o nome do arquivo. @echo off chcp 1252 > nul SetLocal EnableDelayedExpansion :: Coloque aqui o caminho para os arquivos csv set "Pasta=300" :: Aqui será criada uma pasta com os arquivos modificados: if not exist %Pasta%_mod md %Pasta%_mod for %%a in ("%Pasta%\*.csv") do ( echo Orgao;Matricula_Inst;Matricula;UPAG;UF;Nome;CPF;Rubrica;Sequencia;PMT;Prazo;CodUG;Status;Contrato>>"%Pasta%_mod\%%~nxa" for /f "skip=1 usebackq tokens=*" %%b in ("%%a") do ( set "Linha=%%b" set "Orgao=!Linha:~0,5!" set "Matricula_Inst=!Linha:~5,7!" set "Matricula=!Linha:~12,8!" set "UPAG=!Linha:~20,9!" set "UF=!Linha:~29,2!" set "Nome=!Linha:~31,45!" set "CPF=!Linha:~76,11!" set "Rubrica=!Linha:~87,5!" set "Sequencia=!Linha:~92,1!" set "PMT=!Linha:~93,11!" set "Prazo=!Linha:~104,3!" set "CodUG=!Linha:~107,6!" set "Status=!Linha:~113,12!" set "Contrato=!Linha:~125,20!" echo !Orgao!;!Matricula_Inst!;!Matricula!;!UPAG!;!UF!;!Nome!;!CPF!;!Rubrica!;!Sequencia!;!PMT!;!Prazo!;!CodUG!;!Status!;!Contrato!>>"%Pasta%_mod\%%~nxa" ) ) :: Orgao=5 (0,5) :: Matricula_Inst=7 (5,7) :: Matricula=20 (12,8) :: UPAG=29 (20,9) :: UF=31 (29,2) :: Nome=76 (31,45) :: CPF=87 (76,11) :: Rubrica=92 (87,5) :: Sequencia=93 (92,1) :: PMT=104 (93,11) :: Prazo=107 (104,3) :: CodUG=113 (107,6) :: Status=125 (113,12) :: Contrato=145 (125,20)
  20. @Midori certo! o codigo que eu uso é este: Workbooks.OpenText Filename:="P:\MACRO P CONVERSÃO\txt_01.txt", Origin _ :=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0 _ , 1), Array(5, 1), Array(12, 1), Array(21, 1), Array(23, 1), Array(73, 1), Array(84, 1), _ Array(89, 1), Array(90, 1), Array(101, 1), Array(104, 1), Array(110, 1), Array(122, 1), _ Array(142, 1)), TrailingMinusNumbers:=True Columns("N:N").Select Selection.ClearContents Range("P3").Select ActiveWindow.SmallScroll Down:=-18 Workbooks.OpenText Filename:="P:\MACRO P CONVERSÃO\txt_02.txt", Origin _ :=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0 _ , 1), Array(5, 1), Array(12, 1), Array(21, 1), Array(23, 1), Array(73, 1), Array(84, 1), _ Array(89, 1), Array(90, 1), Array(101, 1), Array(104, 1), Array(110, 1), Array(122, 1), _ Array(142, 1)), TrailingMinusNumbers:=True Columns("N:N").Select Selection.ClearContents Range("P3").Select ActiveWindow.SmallScroll Down:=-18 eu uso a repetição, mudando apenas o nome do arquivo que vai ser convertido.
  21. pessoal, eu tenho uma macro para conversão de txt em excel, eu fiz um codigo que converte e abre o arquivo. como eu tenho muitos arquivos eu repliquei o codigo alterando o nome do arquivo que estava sendo convertido. ai agora eu faco a conversão e fico com 40 planilhas abertas e tenho que juntar todas em uma unica planilha, todas tem o mesmo layout, ai eu pego uma e vou colando as demais embaixo dela e fechando... esse é um processo que eu perco muito tempo, gostaria de saber se tem alguma macro que eu consiga unificar todas as planilhas ativas de uma só vez.
  22. @osvaldomp esse é o codigo, a unica coisa que eu faco é replicar Sheets("Geral").Select ActiveSheet.Range("c38:ao75").Select Application.CutCopyMode = False Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.MailEnvelope .Introduction = "Boa tarde!" + vbCrLf + " " + vbCrLf + "Segue quadro" .Item.to = "[email protected]" .Item.Cc = "[email protected]" .Item.Subject = "assunto" .Item.Attachments.Add "P:\arquivo1.xlsx" .Item.Send end with Sheets("Geral").Select ActiveSheet.Range("c38:ao75").Select Application.CutCopyMode = False Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.MailEnvelope .Introduction = "Boa tarde!" + vbCrLf + " " + vbCrLf + "Segue quadro" .Item.to = "[email protected]" .Item.Cc = "[email protected]" .Item.Subject = "assunto" .Item.Attachments.Add "P:\arquivo2.xlsx" .Item.Send end with Sheets("Geral").Select ActiveSheet.Range("c38:ao75").Select Application.CutCopyMode = False Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.MailEnvelope .Introduction = "Boa tarde!" + vbCrLf + " " + vbCrLf + "Segue quadro" .Item.to = "[email protected]" .Item.Cc = "[email protected]" .Item.Subject = "assunto" .Item.Attachments.Add "P:\arquivo3.xlsx" .Item.Send end with end sub o que muda sao os anexos e os emails destino..
  23. pessoal tenho uma macro para enviar emails, e o que esta acontecendo é: cada email tem um anexo, mais ele esta juntando os anexos ao enviar. ele deve enviar email1 anexo1, email2 anexo2, e esta enviando assim email1 anexo1 email2 anexo1 anexo2... e a cada email ele vai agrupando os anexos. segue codigo abaixo: Sheets("Geral").Select ActiveSheet.Range("c38:ao75").Select Application.CutCopyMode = False Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.MailEnvelope .Introduction = "Boa tarde!" + vbCrLf + " " + vbCrLf + "Segue quadro" .Item.to = "[email protected]" .Item.Cc = "[email protected]" .Item.Subject = "assunto" .Item.Attachments.Add "P:\arquivo.xlsx" .Item.Send excel 2019

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!