• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Yardım excel tablosunu txt formatına çevirmek.

levo

Yeni Üye
Katılım
5 Eyl 2018
Mesajlar
11
En iyi yanıt
0
Puanları
1
Yaş
33
Konum
İstanbul
Ad Soyad
Leyla Eren
Merhaba arkadaşlar;

Excelde 659 satırdan oluşan bir tablom var. Excel 10. satırdan başlamak üzere 1 numarası ile 659'a kadar tablo gidiyor. Yapmak istediğim; A sütunundaki sıra numarası ile CDE sütunlarındaki verileri 12 digit olmak kaydıyla text dosyası oluşturmak istiyorum.
Örnek; excel ve oluşturulmuş txt dosyası ektedir. Txt dosyasını makro ile nasıl oluşturabilirim.

Teşekkürler.
 

Ekli dosyalar

  • test.zip
    56.9 KB · Görüntüleme: 1

muygun

Uzman
Katılım
19 Ağu 2018
Mesajlar
444
En iyi yanıt
29
Puanları
43
Konum
Excel 2003
Ad Soyad
Mustafa UYGUN
Office Vers.
Office 2003
Merhaba;
Eki deneyin.
İyi çalışmalar.
 

Ekli dosyalar

  • levo-txt kaydet.zip
    34.2 KB · Görüntüleme: 3

levo

Yeni Üye
Katılım
5 Eyl 2018
Mesajlar
11
En iyi yanıt
0
Puanları
1
Yaş
33
Konum
İstanbul
Ad Soyad
Leyla Eren
Tamamdır çok teşekkür ediyorum. Ellerinize sağlık.
 

levo

Yeni Üye
Katılım
5 Eyl 2018
Mesajlar
11
En iyi yanıt
0
Puanları
1
Yaş
33
Konum
İstanbul
Ad Soyad
Leyla Eren
Merhaba Muygun,
Bahsi geçen konu ile ilgili olarak text dosyası başarılı çalışıyor ancak şöyle bir sorum olacak. Bazı satırlarda eksi bakiyeler oluyor. Mevcut makroyu çalıştırdığımızda üstteki gibi oluyor. Aşağıdaki şekilde nasıl yapabiliriz.
224)düşen hesapr(-)(4.584)(4.584)
Hatalı olan
2220000000-45840000000000000000000-4584 şeklinde oluyor.

olması gereken
222-00000004584000000000000-00000004584
Saygılarımla,
 

muygun

Uzman
Katılım
19 Ağu 2018
Mesajlar
444
En iyi yanıt
29
Puanları
43
Konum
Excel 2003
Ad Soyad
Mustafa UYGUN
Office Vers.
Office 2003
Merhaba;
Dosyanızı güncelleyin ve anlatımınızla örneğinizin uyumunu sağlayın.
(4 nolu mesajınızdan bir şey anlayamadım)
 

levo

Yeni Üye
Katılım
5 Eyl 2018
Mesajlar
11
En iyi yanıt
0
Puanları
1
Yaş
33
Konum
İstanbul
Ad Soyad
Leyla Eren
Merhaba Muygun,
Bahsi geçen konu ile ilgili olarak text dosyası başarılı çalışıyor ancak şöyle bir sorum olacak. Bazı satırlarda eksi bakiyeler oluyor. Mevcut makroyu çalıştırdığımızda üstteki gibi oluyor. Aşağıdaki şekilde nasıl yapabiliriz.
224)düşen hesapr(-)(4.584)(4.584)
Hatalı olan
2220000000-45840000000000000000000-4584 şeklinde oluyor.

olması gereken
222-00000004584000000000000-00000004584
Saygılarımla,
Hocam ilginiz için teşekkürler. Daha açık bir ifadeyle. Rakam (-) eksiyse 12 dijitin önüne eksi koyması gerekiyor. yani ;
0000000-4584 değil de
-00000004584 şeklinde olacak.
 

muygun

Uzman
Katılım
19 Ağu 2018
Mesajlar
444
En iyi yanıt
29
Puanları
43
Konum
Excel 2003
Ad Soyad
Mustafa UYGUN
Office Vers.
Office 2003
Merhaba;
Doğru anladıysam eki deneyin.
İyi çalışmalar.
 

Ekli dosyalar

  • levo-txt kaydet-1.zip
    34.7 KB · Görüntüleme: 4

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
13
En iyi yanıt
0
Puanları
3
Yaş
43
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Vers.
Excel 2007
Merhabalar

Alternatif
Scripting kütüphanesi referanslara eklencek

Kod:
Sub TextFile()
    Dim fso As Scripting.FileSystemObject
    Dim ts As Scripting.TextStream
    Dim txtPath As String
    Dim rng As Range
    Dim r As Range
    Dim i As Long
    Dim colCount As Integer
    Dim thisValue As Variant
    
    
    
    Set fso = New Scripting.FileSystemObject
    
    txtPath = Environ("UserProfile") & "\Desktop\test.txt"
    
    Set ts = fso.OpenTextFile(Filename:=txtPath, _
        IOMode:=ForWriting, Create:=True)
    
    
    Set rng = Sayfa1.Range("A10:A" & Sayfa1.Cells(Sayfa1.Rows.Count, "A").End(xlUp))
  
    colCount = 5
    For Each r In rng.Cells
        For i = 1 To colCount
            If r.Offset(0, i - 1) = "" And i <> 2 Then
                ts.Write "000000000000"
            ElseIf i = 1 Then
                ts.Write Format(r.Offset(0, i - 1), "000")
            ElseIf i = 2 Then
                ts.Write ""
            Else
                ts.Write Format(r.Offset(0, i - 1), "000000000000;-00000000000")
            End If
        Next i
        ts.WriteLine
    Next r
    
    ts.Close
    MsgBox "İşlem tamam"
    Set fso = Nothing
    Set ts = Nothing
    Set rng = Nothing
    Set r = Nothing

End Sub
 
Üst Alt