Seçili Alanı TXT. Olarak Kaydetmek

Katılım
6 Ocak 2016
Mesajlar
210
Excel Vers. ve Dili
2010 türkçe
Merhabalar,

excelde seçmiş olduğum hücreleri excelin bulunmus olduğu klasöre txt olarak nasıl kaydedebilirim

yardımcı olabilirmisiniz
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,091
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki kodu deneyiniz.
PHP:
Sub kod()
Open ThisWorkbook.Path & "\Text.txt" For Output As #1
Dim R As Range
Set R = Selection
For a = 1 To R.Rows.Count
    For b = 1 To R.Columns.Count
        If b = R.Columns.Count Then
            Print #1, R.Cells(a, b)
        Else
            Print #1, R.Cells(a, b),
        End If
    Next
Next
Close #1
End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,091
Excel Vers. ve Dili
2007 Türkçe
Bir örnek dosya paylaşırsanız hatanın kaynağını anlayabiliriz sanıyorum.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhaba.
Sayın adaşımın müsadeleriyle.
Bir deneme de ben yapayım dedim.
Tek hücrelik olmayan bir alan seçiliyken kod'u çalıştırın.
CSS:
Sub YEDEK_TXT_Kaydet()
If Selection.Count = 1 Then Exit Sub
Dim sat As Integer, sut As Integer, metin As String
Open ThisWorkbook.Path & "\" & "yedek_" & Format(Now, "hhmm_ddmmyy") & ".TXT" For Output As #1
    With Selection
        For sat = 1 To .Rows.Count
            For sut = 1 To .Columns.Count
                If sut = 1 Then metin = .Cells(sat, sut)
                If sut > 1 Then metin = metin & vbTab & .Cells(sat, sut)
            Next: Print #1, metin: metin = Empty
        Next sat
    Close #1
    End With: MsgBox "Bitti"
End Sub
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,103
Excel Vers. ve Dili
Excel-2003 Türkçe
Ömer Bey'den güzel bir çözüm.

Open satırı
Open ThisWorkbook.Path & "\" & "yedek_" & Format(Date, "dd mm yyyy") & " " & Format(Time, "hh_mm_ss") & ".TXT" For Output As #1
şeklinde düzenlenirse oluşturulan dosya adı daha okunur olur.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Eyvallah Sayın @muygun,
aslında okunurluk yanısıra; GÖZAT ekranında veya
Windows Gezginindeki görüntü bakımından da daha anlamlı olur gibi ama neticede isim işi keyfe kalmış mevzu.
Kolay gelsin.
.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,103
Excel Vers. ve Dili
Excel-2003 Türkçe
Ömer bey Kodlar oldukça kullanışlı (kendimede yedekledim)
Bende .txt dosyalarının birden fazla bir yerde depolanabileceğini düşünerek
Önce tarih ve sonra saat sıralaması veriye ulaşmayı da kolaylaştırır diye düşündüm.
Size de kolaylıklar dilerim.
 
Katılım
6 Ocak 2016
Mesajlar
210
Excel Vers. ve Dili
2010 türkçe
Üstadlarım emeğinize sağlık istediğim gibi olmus, yalnız son olarak keyfe keder bir isteğim olarak bu kayıt edeceğim txt nin ismini bana sorma imzanı varmı
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,553
Excel Vers. ve Dili
Pro Plus 2021
Döngüsüz tek seferde yazdırılsa daha mı iyi olur?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhabalar, Sayın @veyselemre , Sayın @Haluk .
Aşağıdaki gibi mi mesela?
Yoksa daha pratik bir yolu mu var?
CSS:
Sub SECILI_ALANI_TXT()
If Selection.Count = 1 Then Exit Sub
With Application
    dosya = .InputBox("TXT belge için isim giriniz!..")
    If dosya = False Then
        MsgBox "İşlemi iptal ettiniz.", vbInformation, "..:: Ömer BARAN ::.."
        Exit Sub
    Else: isim = dosya
    End If
        Selection.Copy: Sheets.Add After:=ActiveSheet: ActiveSheet.Paste
        ActiveWorkbook.SaveAs Filename:=isim, FileFormat:=xlText
        .ScreenUpdating = False: .DisplayAlerts = False
        ActiveWindow.SelectedSheets.Delete
        .DisplayAlerts = True: .ScreenUpdating = True
End With: MsgBox "BİTTİ"
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,580
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Merhaba Sayın Üstadlar,
Seçilen aralığı bir hücreden alması için eklenecek satır nasıl olmalı?
Saygılarımla
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
kendi kullandığım bir makroyu ekleyeyim ben de.
Sheet1 sayfasının J3 hücresinde yazılı olan aralık adresindeki (örneğin J3 değeri B5:F48 olsun) verileri | ayracı ile txt olarak kaydetmek için:
Kod:
Sub xlTR_178786()
'VBE / Tools / References / Microsoft ActiveX DataObject X.X Library

    With New Recordset
        .Open "SELECT * FROM [Sheet1$" & Range("J3").Value & "];", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & ThisWorkbook.FullName & "';Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
        CreateObject("Scripting.FileSystemObject").CreateTextFile(ThisWorkbook.Path & "\TextDosya.txt").Write .GetString(, , "|", vbCrLf)
    End With

End Sub
TextDosya.txt olan dosya adını istediğiniz yöntemle üretip kodun içine bir değişken ile vs ekleyebilirsiniz.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,580
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Sayın Mancubus,
Makro böyle bir hata verdi. Neden olabilir acaba?
Saygılarımla
 

Ekli dosyalar

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,225
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Seçili satırı With CreateObject("ADODB.Recordset") olarak değiştirin.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,580
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Sayın Zeki Gürsoy Hocam,
Şahsınızda, ilgilenen tüm arkadaşlara çok teşekkür ederim.
Saygılarımla
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
Sayın Mancubus,
Makro böyle bir hata verdi. Neden olabilir acaba?
Saygılarımla
muadil yöntem Zeki Bey'den gelmiş, teşekkürler.

makro adının altındaki şu satırdaki işlemi yapmak lazımdı.
genelde bu şekilde kısaca yazılır. ancak bazan da detaylı vermek gerekiyor :).
'VBE penceresinde / Tools'un altında / References tıklandıktan sonra / açılan listeden Microsoft ActiveX DataObject X.X Library işaretlenmeli.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,580
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Sayın Mancubus,
İlginize çok teşekkür ederim.
Saygılarımla
 
Üst