Excel VBA Text Dosyasına Veri Yazma

Bu yazımızda Excel dosyasından bir butona basınca VBA ile belirlediğimiz range deki değerleri belirlediğimiz adresteki Text dosyasına yazdıracağız arkadaşlar.

Developer sekmesinde butonumuzu sayfamıza ekleyelim ve aşağıdaki gibi kafanıza göre istediğiniz yere veri oluşturun.

Excel VBA Buton ile text dosyasına yazmak
Excel VBA Buton ile text dosyasına yazmak

Sonra butona çift tıklayarak excel vba editörümüzü açalım ve aşağıdaki kodumuzu ekleyelim. Aşağıdaki kodda dikkat etmeiz gereken yada değiştirmeniz gereken bir kaç yeri belirteyim.

Birincisi dosya adresi: Dosya adresini ister ilk satırdaki gibi zaman bilgisini de ekletip yazdırabilirsiniz. İsterseniz alt satırındaki gibi tek dosya yazıp hep aynı dosyaay basabilirsiniz.

İkincisi range bölgesini belirleme: Burayıda kendinize göre belirleyebilirsiniz.

Excel Notepad Veri Yazma
Excel Notepad Veri Yazma

Bir arkadaşımızın isteği üzerine Excel’ deki her satırı farklı klasörlerdeki text dosyalarına yazdırmak istiyorsanız aşağıdaki kodu kullanabilirsiniz.

Excel Notepad Veri Yazma
Excel Notepad Veri Yazma

2 thoughts on “Excel VBA Text Dosyasına Veri Yazma

  • 15 Temmuz 2018 tarihinde, saat 14:23
    Permalink

    Merhaba,
    Excelde mevcut olan verileri txt dosyasına aktarmak istiyorum, ancak yukarıda belirtmiş olduğunuz formattan biraz farklı. Şöyle ki: excelde 20 satırlık bir veri mevcut ve her satır için bir klasörüm var. Ben bütün verileri tek bir txt dosyasına aktarmak yerine her bir satır için ayrı bir txt dosyası oluşturmak istiyorum. Örneğin; 1. klasörün içindeki ilgili txt dosyasına exceldeki 1. satırdaki veriyi yaz , 2. klasör için 2. satırı yaz…
    Oluşturduğum macroyu aşağıda paylaştım. Bununla oluşturduğum her txt dosyasına exceldeki bütün verileri aktarabiliyorum. Yardımcı olursanız sevinirim.

    Sub Düğme2_Tıkla()
    ‘text dosyasına excelden veri aktarmak için

    ‘Declaring the variables
    Dim FileName, sLine, Deliminator As String
    Dim LastCol, LastRow, FileNumber As Integer
    Dim Folder As String
    Dim File1 As String
    Dim File2 As String

    For x = 1 To 3

    Folder = “C:\test”
    File1 = x
    File2 = “GM_List.txt”

    ‘Excel Location and File Name
    FileName = Folder & “\” & File1 & “\” & File2

    ‘Identifying the Last Cell
    LastCol = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
    LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    FileNumber = FreeFile

    ‘Creating or Overwrighting a text file
    Open FileName For Output As FileNumber

    ‘Reading the data from Excel using For Loop
    For i = 1 To LastRow
    For j = 1 To LastCol

    ‘Removing Deliminator if it is wrighting the last column
    If j = LastCol Then
    sLine = sLine & Cells(i, j).Value
    Else
    sLine = sLine & Cells(i, j).Value & Deliminator
    End If
    Next j

    ‘Wrighting data into text file
    Print #FileNumber, sLine
    sLine = “”
    Next i

    ‘Closing the Text File
    Close #FileNumber

    ‘Generating message to display
    MsgBox “Text file has been generated”

    Next x

    End Sub

    Yanıtla
    • 16 Temmuz 2018 tarihinde, saat 13:04
      Permalink

      Basit olarak 3 satırı okuyup farklı klasörlerdeki text dosyalarına ekleyen kodu yazıya ekledim. İnceleyerek kendi kodunuza entegre edebilirsiniz. İyi çalışmalar.

      Yanıtla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.