TXT oluşturma TXT den veri alma

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
Merhabalar okulumuzda sınav yaptıktan sonra öğrenci verilerini txt den almak yada txt ye istediğimiz formtta göndermek istiyoruz. Bunu bir buton ile makro ile hızlı bir şekilde yapabilirmiyiz. Oluşturmak istediğimiz txt dosyası örneği ve veri tabanı olarak kullanacağımız excel dosyası ektedir. Sınavlarda sorulan sayıları 10-125 arasında değişkendir belki ileride daha fazla soruda sorabiliriz son sorudan sonra girmeyen öğrenciler için "G" kodu olabiliyor bazen.Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosyayı irdeleyiniz.

Kod:
Sub veri_kayıtet()

'On Error Resume Next
yer = ThisWorkbook.Path & "\yaz.txt"
Open yer For Output As #2
For i = 1 To Worksheets(ActiveSheet.Name).Cells(Rows.Count, 1).End(xlUp).Row
ekle = ""
For j = 1 To Worksheets(ActiveSheet.Name).Cells(i, Columns.Count).End(xlToLeft).Column
If j = 1 Then
ekle = Worksheets(ActiveSheet.Name).Cells(i, j).Value
Else
ekle = ekle & vbTab & Worksheets(ActiveSheet.Name).Cells(i, j).Value
End If

'Chr(9) vbTab
Next j
Print #2, ekle
Next i
Close #2

MsgBox "işlem tamam"

End Sub

Kod:
Sub veri_getir()

Cells.ClearContents
'On Error Resume Next
kayıt = ThisWorkbook.Path & "\yaz.txt"
Open kayıt For Append As #1
Close #1

Open kayıt For Input As #1
Do While Not EOF(1)
Line Input #1, a

sat = sat + 1
deg2 = Split(a, vbTab)

For i = 0 To UBound(deg2)
Cells(sat, i + 1) = deg2(i)
Next i
Loop
Close #1

MsgBox "işlem tamam"
End Sub
 

Ekli dosyalar

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
halit bey önelikle ilginiz için teşekkürler. Fakat txt oluştururken şıklar oluşturulurken her sütun arasına boşluk veriyor. Boşluksuz olması lazım okurkende aynı mantıkla olmalı.
Örnek İL 2 , 990002 , 100002 , 11 , D D A E B . . . .şeklinde değil
İL 2,990002,100002,11,DD AEB...... şeklinde olmalı.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Text oluştururken mutlaka aralara bir şey koymak gerekiyor bu boşluk olabilir veya farklı bir karekter olabilir nedeni ise tekrar text dosyasından verileri çağırınca bu boşluk veya karekterlere bakarak ayırım yapması gerekiyor sizin örnek dosyanızdaki gibi text oluşturulur ancak veriler geri çağrıldığında ayırım yapamazsınız bir bütün olarak veriler gelir.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Birde bu dosyaya bak

Rich (BB code):
Sub veri_kayıtet()

yer = ThisWorkbook.Path & "\yaz.txt"
Open yer For Output As #2
For i = 1 To Worksheets(ActiveSheet.Name).Cells(Rows.Count, 1).End(xlUp).Row
ekle = ""
For j = 1 To Worksheets(ActiveSheet.Name).Cells(i, Columns.Count).End(xlToLeft).Column
If j = 1 Then
ekle = Worksheets(ActiveSheet.Name).Cells(i, j).Value
Else
ekle = ekle & Chr(10) & Worksheets(ActiveSheet.Name).Cells(i, j).Value
End If

Next j
Print #2, ekle
Next i
Close #2

MsgBox "işlem tamam"

End Sub

Sub veri_getir()

Cells.ClearContents
kayıt = ThisWorkbook.Path & "\yaz.txt"
Open kayıt For Append As #1
Close #1

Open kayıt For Input As #1
Do While Not EOF(1)
Line Input #1, a

sat = sat + 1
deg2 = Split(a, Chr(10))

For i = 0 To UBound(deg2)
Cells(sat, i + 1) = deg2(i)
Next i
Loop
Close #1

MsgBox "işlem tamam"
End Sub
 

Ekli dosyalar

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
veriler alt alta geldi
1571207287487.png
 

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
Text oluştururken mutlaka aralara bir şey koymak gerekiyor bu boşluk olabilir veya farklı bir karekter olabilir nedeni ise tekrar text dosyasından verileri çağırınca bu boşluk veya karekterlere bakarak ayırım yapması gerekiyor sizin örnek dosyanızdaki gibi text oluşturulur ancak veriler geri çağrıldığında ayırım yapamazsınız bir bütün olarak veriler gelir.
cevaplar kısımının arasına ";" veya "!" sabit bir karakter koyabilirmiyiz. En azından böyle yaparsam ctrl+H ile bu karakteri kaldırmam daha kolay olur sanırsam.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
5 nolu mesajdaki dosya istediğinizi tam yapıyor denedinizmi ?
 

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
5 nolu mesajdaki dosya istediğinizi tam yapıyor denedinizmi ?
evet denedim 6 nolu cevapta dediğim gibi oluşan txt dosyası alt alta getiriyor verileri tek bir sütun gibi.
işin aslı elimizde bir okuma programı var bu program verdiğim txt formatında okuyor. ama belirli sınırlılıkları var. programla yapamadığımız bazı analizleri ve değişiklilleri excel ile yapmak için iki yönlü txt kullanmamız gerekiyor. ilginiz için teşekkürler.
 

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
kod bende düzgün çalışıyor örnek resmi ekliyorum
halit bey sanırım ben yanlış anlattım kusura bakmayın oluşan yaz.txt dosyasında veriler alt alta geliyor. txt den veri almada problem yok oluşturulan txt de sıkıntı var
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
alt alta gelmeyecekmi
bende oluşan dosya böyle
 

Ekli dosyalar

  • 25.2 KB Görüntüleme: 2

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
alt alta gelmeyecekmi
bende oluşan dosya böyle
maalesef hayır. ilk mesajda verdiğim txt formatında olmalı. yordum kusura bakmayın. 2. mesajda verdiğiniz dosyada oluşan txt boşluksuz olsayadı doğruydu sadece boşluk verdiği için hatalıydı
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
siz bu text dosyasındaki verileri başka bir yere kopyalıyormusunuz.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
bu dosya iki adet text oluşturuyor birincisi tekrar okumak için diğeri sizin istediğiniz gibi oluşturuyor.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu dosyada yaz1.txt dosyası verileri geri çağırmak için yaz2.txt dosyası ise sizin istediğiniz gibi oluşmakta
 

Ekli dosyalar

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
halit bey çok teşekkürler elinize emeğinize sağlık.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Teşekkürler iyi çalışmalar
 
Üst