Seçili Alanı TXT. Olarak Kaydetmek

bydogannn67

Altın Üye
Katılım
6 Ocak 2016
Mesajlar
220
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
03-09-2029
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,336
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
 

bydogannn67

Altın Üye
Katılım
6 Ocak 2016
Mesajlar
220
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
03-09-2029


Hocam resimdeki gibi hata verdı
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,336
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
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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,181
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
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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,181
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.
 

bydogannn67

Altın Üye
Katılım
6 Ocak 2016
Mesajlar
220
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
03-09-2029
Ü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,646
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
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
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,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
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,347
Excel Vers. ve Dili
Office 365 (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,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
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,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Mancubus,
İlginize çok teşekkür ederim.
Saygılarımla
 
Üst