• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

txt dosyasından bilgi alma

Katılım
14 Ocak 2005
Mesajlar
807
Excel Vers. ve Dili
Microsoft Office Professional Plus 2021
Selam arkadaşlar. işyerimizde işlediğimiz faturaları birde mal kabul formu adı altında elle yazdığımız bir forma işletmemizi istediler bizim programcı bunları txt dosyasına attırıcağını söyledi. Benim de bu txt dosyasında ki bilgileri forma almam ve tekrar silmesi gerekiyor txt dosyasını. Alırken de dikkat edmesi gereken benim seçmiş olduğum A sutununda her hangi bir hücreden başlaması.

Yardım ederseniz çok minetter kalırım form örneğini ve txt dosyası örneğini gönderiyorum.


Not: txt dosyası c dizininde olucak.
 
Makroya gerek yok, A sütununda istediğiniz bir hücreye gelin.

Data >> Get external data >> Import text file

Gelen ekranda istemediğiniz sütunları iptal edin, biçimini düzenleyin.
 
makro istememim sebebi daha farklı sayın haluk çünkü başka veriler de girilecek elle yazılacak vb...
 
Her fatura için ayrı ayrı bir txt oluşuyor ve biz hemen ardından fatura girişi yapıldık sonra exce macro ile belli kısımları aldırıp geri kallanlarını elle doldurup devam ediyoruz....
 
Sn Haluk Üstadımın önerisini denerken makro kaydetide çalıştırırsanız gerekli kodları elde etmiş olursunuz.
 
Sub Makro1()
'
' Makro1 Makro
' Makro Özcan Özarslan tarafından 14.07.2007 tarihinde kaydedildi.
'

'
Range("A3").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\ozcan.GARDENIA\Desktop\malkabul1.txt", _
Destination:=Range("A3"))
.Name = "malkabul1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1254
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(9, 11, 31, 11, 9, 11, 30)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Sub aktar()
'
' Makro1 Makro
' Makro Özcan Özarslan tarafından 14.07.2007 tarihinde kaydedildi.
'

'
ActiveCell.Select
hucre = ActiveCell

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\ozcan.GARDENIA\Desktop\malkabul1.txt", _
Destination:=Range("hucre"))
.Name = "malkabul1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1254
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(9, 11, 31, 11, 9, 11, 30)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

sayın haluk bey ve sayın levtm sizin de dediğiniz gibi yaptım ve kodları elde ettim ama bu seferde kendime göre bir değişişklik yaptım ve active hücreden başlaması için ve değiştirdim aktar macrosunda hata verdi kodlar yukarda bir kontrol ederseniz sevinirim. Teşekkürler
 
Merhaba.
Aşağıdaki şekilde denermisiniz.:cool:
Kod:
Sub Aktar2
' Makro1 Makro
' Makro Özcan Özarslan tarafından 14.07.2007 tarihinde kaydedildi.
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\ozcan.GARDENIA\Desktop\malkabul1.txt", _
Destination:=ActiveCell)
.Name = "malkabul1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1254
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(9, 11, 31, 11, 9, 11, 30)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
 
Sayın Haluk bey ve Sayın levntm beylerin yol göstermeleri sonucu istediğim çalışmamı elde ettim. ama burda da iki sorunla karşılaştım 1- eğer c dizininde istediğim dosya yoksa uyarı verse ve macro çalışması bende çalışıyor ve debug memüsü geliyor hoş olmuyor
2- macro ile gelen bilgiler geri alla geriye alınmıyor alınabilir mi. Teşekkürler.
 
ok birinci sorunumu çözdüm 2 incisi acaba nasıl olur
 
Sayın arkadaşlarım dediğiniz gibi veri al ile yaptım çokta güzel çalıştı ama benim bir sorunum daha oldu aynı uygulamayı paylışlan bir kitapta çalıştırdığım zaman olmuyor makcro çalışmıyor. acama bunu başka türlü nasıl yapabilirim. Dosyalama ve dosya okuma komutları ile yapmak mümkünmü.
 
Geri
Üst