Seçili Alanı TXT. Olarak Kaydetmek

Katılım
6 Ocak 2016
Mesajlar
191
Beğeniler
0
Excel Vers. ve Dili
2010 türkçe
#1
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
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#2
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
2,645
Beğeniler
189
Excel Vers. ve Dili
2007 Türkçe
#4
Bir örnek dosya paylaşırsanız hatanın kaynağını anlayabiliriz sanıyorum.
 
Katılım
8 Mart 2011
Mesajlar
13,047
Beğeniler
742
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#5
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
7,647
Beğeniler
170
Excel Vers. ve Dili
Excel-2003 Türkçe
#6
Ö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.
 
Katılım
8 Mart 2011
Mesajlar
13,047
Beğeniler
742
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#7
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
7,647
Beğeniler
170
Excel Vers. ve Dili
Excel-2003 Türkçe
#8
Ö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
191
Beğeniler
0
Excel Vers. ve Dili
2010 türkçe
#9
Ü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ı
 
Katılım
8 Mart 2011
Mesajlar
13,047
Beğeniler
742
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#12
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
 
Katılım
30 Temmuz 2012
Mesajlar
1,626
Beğeniler
63
Excel Vers. ve Dili
2010 - Türkçe 64 Bit
#13
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,120
Beğeniler
23
Excel Vers. ve Dili
İŞ: 2016 Eng
EV: 2019 Eng
#14
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.
 
Katılım
9 Mart 2005
Mesajlar
2,554
Beğeniler
128
Excel Vers. ve Dili
Excel 2003-tr
#15
Katılım
31 Aralık 2005
Mesajlar
3,734
Beğeniler
125
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
#17
Seçili satırı With CreateObject("ADODB.Recordset") olarak değiştirin.
 
Katılım
30 Temmuz 2012
Mesajlar
1,626
Beğeniler
63
Excel Vers. ve Dili
2010 - Türkçe 64 Bit
#18
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,120
Beğeniler
23
Excel Vers. ve Dili
İŞ: 2016 Eng
EV: 2019 Eng
#19
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.
 
Üst