Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#14113
Senhores, mais uma vez venho solicitar ajuda, como ja havia falado anteriormente ainda sou novo na parte de desenvolvimento mas com muito custo e leitura estou chegando la.
Bem a minha solicitação é: tenho uma planilha com determinados campos compra, saque , pagto
em determinado diretorio da minha maquina gero varios relatorios em *.TXT, onde atualmente vou abrindo um a um e imputando os dados, gostaria de saber se a posibilidade em um VBA localizar determinado arquivo e inserir o valor que eu preciso em determinada celula.

No maximo que eu consegui foi lendo e juntando alguns codigos chegar no vba abaixo. Porem ainda nao me atende, pois sempre le todos arquivos em TXT e acaba sobrepondo valores.
Segue anexo a planilha que tenho e 02 exemplos dos arquivos em TXT que eu gero.

Sub importar()
Dim myDir As String, fn As String, txt As String, a(), i As Long, ff As Integer
Dim Ficheiro As String
Dim rg As Range
Dim S As String, N As Long, C As Integer, X As Variant
localizarlinhabranco
myDir = "C:\Documents\Desenvolvimento\Indicadores\"
fn = Dir(myDir & "*.TXT")
Set rg = ActiveCell

Do While fn <> ""
ff = FreeFile
Open myDir & "\" & fn For Input As #ff
Do Until EOF(1)
Line Input #1, S
C = 0
X = Split(S, ";")
For N = 3 To UBound(X)
If X(N) <> "" Then
rg.Offset(0, C) = X(N)
C = C + 1
End If
Next N
Set rg = rg.Offset(0, 0)
Loop
Close #ff
fn = Dir()
Loop
' With ThisWorkbook.Sheets(1).Range("a1")
' For i = 1 To N
' .Offset(i - 1).Resize(, UBound(a(i)) + 1).Value = a(i)
' Next
' End With
End Sub
Sub localizarlinhabranco()
linha = 1
celula = ActiveCell.Value
While celula <> ""
ActiveCell.Offset(1, 0).Activate
celula = ActiveCell.Value
linha = linha
Wend
End Sub
#14358
Bom dia!!

Veja se ajuda.
Eu criei uma Tabela Dinâmica.
Os dados ficará em uma guia BD_txtFile para manter o histórico dos dados.

Obs: mantenha no diretório, somente os arquivos que deseja importar, caso tenha arquivo antigo, serão exportados junto.

Att
#14667
Alexandre, boa noite!
Tentei utilizar a sua ideia, porem infelizmente não deu certo, pois quando uso tabela dinâmica, acaba que duplicando valores, tipo para o dia 29 jogou o valor de 202.489 e 28927 como compra. Mas fico muito agradecido pela ajuda, vou continuar estudando e verificar se consigo adaptar sua ideá com o que já tenho e vê o que da. :D :roll: ;)
sm Tipos
Data COMPRA PAGAMENTO
29/07/2016 202489 8295
30/07/2016 28927 1185
29/08/2016 28927 1185

att,
Janilson
#14672
Bom dia!!

Eu não estou entendendo, no meu post tem uma Observações que se os arquivos dentro do diretório sempre será importado duplicando os dados.
Forçando vc a limpar a guia BD_txtFile, caso queira manter os arquivo dentro do diretório.


Me mande todos os arquivos txt que vc fez seu teste.

Att
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord