Excel çalışma sayfasını metin (sekmeyle bölünmüş) dosya halinde kaydetme

Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Arkadaşlar Merhaba,

Ba/Bs için daha önce hazırlamış olduğum excel çalışma kitabım var.

Yapılması gereken,
Beyan sayfasında bulunan verilerin içinde C2:G2 & I2 sütununda bulunan verilerin değişken alan olarak kopyalanması ( Sütunlarda degişiklik yok. Ancak satırlar azalabilir ya da artabilir. ) en alt toplam satırını almamalı. kopyalanan veriler Beyan sayfası son sayfasına A1 hücresine yapıştırılmalı yapıştırırken I sütunundaki verileri metin olarak değiştirmeli, yapıştırma işleminden sonra en son satırın bittiği yerden 65536 hücreye kadar satırları silmeli ve bu mevcut alanı farklı kaydet ile metin belgesi (sekmelere bölünmüş halde) masa üstüne yapıştırması şeklinde bir çalışma olması gerekiyor.


Konuyla ilgili yardımcı olacak arkadaşlara şimdiden çok teşekkürler.


Çalışma için örnek dosya:


http://dosya.co/q2nvr4tupc6y/Excel_Çalışma_Kitabı.xlsx.html
 
Son düzenleme:
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Yardımlarınızı bekliyorum arkadaşlar
 
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Günceldir.
 

Ö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.

Yanlış anlamadıysam aşağıdaki kod istediğiniz sonucu verecektir.
.
Kod:
[FONT="Arial Narrow"][B]Sub txt_BRN()[/B]
Set s1 = Sheets("BEYAN_SAYFASI"): s1.Activate
yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
adı = InputBox("", "TXT Belge için İSİM yazınız:")
If adı = "" Then Exit Sub
If Dir(yol & adı & ".txt") <> "" Then
    MsgBox "Bu dosya mevcuttur."
    Exit Sub
End If
Open yol & adı & ".txt" For Output As #1
    For i = 2 To s1.[A65000].End(3).Row
        Print #1, Cells(i, 3), Cells(i, 4), Cells(i, 5), Cells(i, 6), Cells(i, 7), Cells(i, 9)
    Next i
Close #1
MsgBox "Masaüstü'ne " & adı & " adlı txt blge kaydedildi..", , "Ö. BARAN"
[B]End Sub[/B][/FONT]
 
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Sn. Ömer Hocam Çok teşekkür ederim Ellerinize sağlık kontrol ettim. Super olmuş. :)
 
Son düzenleme:

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,573
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Bilgi ricam

Sayın Cihan SK,


Eklediğiniz dosya ilgimi çeketi ve Sayın Ömer Baran üstadın kodlarını kullanarak, "txt" dosyası oluşturdum. Ancak "txt" dosyasını Excel'e:

VERİ / Dış Veri Al / Metin dosyası "txt" seç / Al

adımları sonrası açılan "Metin İçeren Aktarma Sihirbazı"ile resimde görüleceği gibi, bir türlü düzgün aktaramadım.

Rica etsem, düzgün aktarma için "Sihirbaz" da hangi seçimleri yapmalı ve nelere dikkat etmeliyim?

İlgi ve yardımınız için önceden sizlere ve üstadıma en içtene teşekkürlerimi sunarım.

Sevgi ve saygılar.
 

Ekli dosyalar

Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Sayın Cihan SK,


Eklediğiniz dosya ilgimi çeketi ve Sayın Ömer Baran üstadın kodlarını kullanarak, "txt" dosyası oluşturdum. Ancak "txt" dosyasını Excel'e:

VERİ / Dış Veri Al / Metin dosyası "txt" seç / Al

adımları sonrası açılan "Metin İçeren Aktarma Sihirbazı"ile resimde görüleceği gibi, bir türlü düzgün aktaramadım.

Rica etsem, düzgün aktarma için "Sihirbaz" da hangi seçimleri yapmalı ve nelere dikkat etmeliyim?

İlgi ve yardımınız için önceden sizlere ve üstadıma en içtene teşekkürlerimi sunarım.

Sevgi ve saygılar.
İlginiz için teşekkür ederim. Ancak bildiğim kadarıyla metinden aktardıgınızda tek sütunda geliyordur metini sütunlara böl kısmından yapılabilir. Sizde denemişsiniz ancak sizin datanız nasıl bilemem ama ben olsaydım formülle ayırmaya çalışırdım kendi tabloma göre konuşuyorum çünkü sütunlarda standart var cari firmadan sonra ülke ismi vergi numarası belge sayısı vs ölçütlere göre uygun formül arardım. Denemek lazım
 
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Merhaba.

Yanlış anlamadıysam aşağıdaki kod istediğiniz sonucu verecektir.
.
Kod:
[FONT="Arial Narrow"][B]Sub txt_BRN()[/B]
Set s1 = Sheets("BEYAN_SAYFASI"): s1.Activate
yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
adı = InputBox("", "TXT Belge için İSİM yazınız:")
If adı = "" Then Exit Sub
If Dir(yol & adı & ".txt") <> "" Then
    MsgBox "Bu dosya mevcuttur."
    Exit Sub
End If
Open yol & adı & ".txt" For Output As #1
    For i = 2 To s1.[A65000].End(3).Row
        Print #1, Cells(i, 3), Cells(i, 4), Cells(i, 5), Cells(i, 6), Cells(i, 7), Cells(i, 9)
    Next i
Close #1
MsgBox "Masaüstü'ne " & adı & " adlı txt blge kaydedildi..", , "Ö. BARAN"
[B]End Sub[/B][/FONT]
Hocam bu konuyla alakalı yardımınıza ihtiyaç var. Şimdi metin dosyası olarak çok güzel çevirdi. Ancak satırlar arasında boşluk vermiş. metin (sekmeyle bölünmüş şekline çevirdiğinde boşluk yok sadece 1 boşluk var. ancak bu dönüşüm esnasında metin belgesinde bölünmüş sütunlar arasında çok fazla boşluk var. bunu nasıl halledebiliriz. Yardımcı olursanız sevinirim.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,573
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Sayın Cihan SK,
Sayın Ömer BARAN,



İyi akşamlar. Takıldığım 2 husus var. İlki sizi, ikincisi üstadımı ilgilendiriyor.


Siz Ömer BARAN üstadın kodları ile yaratılan "txt" dosyasını nerede kullanıyorsunuz?

Yaratılan "txt" metin dosyası niye tekrar Excel'e aktarılamıyor?

Bilgi rica ediyorum. Teşekkürler.
 
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Sayın Cihan SK,
Sayın Ömer BARAN,



İyi akşamlar. Takıldığım 2 husus var. İlki sizi, ikincisi üstadımı ilgilendiriyor.


Siz Ömer BARAN üstadın kodları ile yaratılan "txt" dosyasını nerede kullanıyorsunuz?

Yaratılan "txt" metin dosyası niye tekrar Excel'e aktarılamıyor?

Bilgi rica ediyorum. Teşekkürler.
Benim kullanım alanım hazırlanmış ba/bs tablosunu e-beyanname sitesine uyarlamak çünkü excel olarak yükleme yapılamaz metin sekmeyle bölünmüş olması gerekiyor toplu şekilde aktarabilmem için önemli diğer türlü çok uğraştırıyor ve en küçük hatada tekrar baştan yapılıyor bu nedenle hocamızın hazırladıgı makro çözüm oldu ancak txt olarak yapılan dosyada boşluklar var boşluklar excelde her sütun için bir tane olmalı diğer türlü yükleme uyumsuz olmaktadır. Yardımcı olacak arkadaslara ve değerli hocamıza teşekkürler
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,573
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Bilgilendirmeniz için teşekkürler ve kolay gelsin.
 

Ö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.
Tekrar merhabalar. Yazışmalarınızı yeni fark ettim.

Gönderdiğim kod esas itibariyle, Sayın Zeki GÜRSOY'un aşağıdaki konu sayfasındaki kod'dur.

Farklı Kaydet/Metin (Sekmeyle Ayrılmış) Özelliğini kullanarak TXT uzantılı dosya kayd

Bu tür aktarma/tür değiştirme işlemleriyle çok uğraşmışlığım yok doğrusu.

Verdiğim kod ile oluşan txt belgesini sisteme BA/BS yükleme işleminde denediniz mi bilemiyorum.

Tekrar excel'e almak için aklıma gelen çözüm ise (BA/BS bildirimi yükleme işlemini yaparkenki etkisini bilemiyorum)
aralara "," karakteri ekleyerek olabilir. Bunun için kod'daki Print satırına (aşağıdaki ilk satır) virgüller ilave (aşağıdaki ikinci satır) edilebilir.

Ayrıca sanırım SGK/E-BİLDİRGE ile ilgili bir konu vardı (xml ile ilgili olabilir), orada ise alanların karakter sayısı belli idi ve
verinin karakter sayısı eksik olduğunda, yanlış hatırlamıyorsam BOŞLUK karakteri kullanılarak eksik karakter sayıları tamamlanıyordu
ve konu sahibi de ulaşılan sonucu BAŞARILI olarak belirtmiş idi. Forumda ARAMA yapmakta yarar var.

Çözüm olmuyorsa Sayın Zeki GÜRSOY veya konuyla ilgilenecek başka üyelerin konuyu fark edip fikirlerini/düzeltmelerini beklemek gerekebilir.
.
Kod:
[FONT="Arial Narrow"][COLOR="Red"]önceki kod satırı:[/COLOR]
Print #1, Cells(i, 3), Cells(i, 4), Cells(i, 5), Cells(i, 6), Cells(i, 7), Cells(i, 9)

[COLOR="Blue"]yeni kod satırı:[/COLOR]
Print #1, Cells(i, 3),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 4),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 5),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 6),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 7),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 9)
[/FONT]
 
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
Tekrar merhabalar. Yazışmalarınızı yeni fark ettim.

Gönderdiğim kod esas itibariyle, Sayın Zeki GÜRSOY'un aşağıdaki konu sayfasındaki kod'dur.

Farklı Kaydet/Metin (Sekmeyle Ayrılmış) Özelliğini kullanarak TXT uzantılı dosya kayd

Bu tür aktarma/tür değiştirme işlemleriyle çok uğraşmışlığım yok doğrusu.

Verdiğim kod ile oluşan txt belgesini sisteme BA/BS yükleme işleminde denediniz mi bilemiyorum.

Tekrar excel'e almak için aklıma gelen çözüm ise (BA/BS bildirimi yükleme işlemini yaparkenki etkisini bilemiyorum)
aralara "," karakteri ekleyerek olabilir. Bunun için kod'daki Print satırına (aşağıdaki ilk satır) virgüller ilave (aşağıdaki ikinci satır) edilebilir.

Ayrıca sanırım SGK/E-BİLDİRGE ile ilgili bir konu vardı (xml ile ilgili olabilir), orada ise alanların karakter sayısı belli idi ve
verinin karakter sayısı eksik olduğunda, yanlış hatırlamıyorsam BOŞLUK karakteri kullanılarak eksik karakter sayıları tamamlanıyordu
ve konu sahibi de ulaşılan sonucu BAŞARILI olarak belirtmiş idi. Forumda ARAMA yapmakta yarar var.

Çözüm olmuyorsa Sayın Zeki GÜRSOY veya konuyla ilgilenecek başka üyelerin konuyu fark edip fikirlerini/düzeltmelerini beklemek gerekebilir.
.
Kod:
[FONT="Arial Narrow"][COLOR="Red"]önceki kod satırı:[/COLOR]
Print #1, Cells(i, 3), Cells(i, 4), Cells(i, 5), Cells(i, 6), Cells(i, 7), Cells(i, 9)

[COLOR="Blue"]yeni kod satırı:[/COLOR]
Print #1, Cells(i, 3),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 4),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 5),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 6),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 7),[COLOR="blue"][B] ",", [/B][/COLOR]Cells(i, 9)
[/FONT]
Ustadım denedim. Beyanname sitesinde ama olmadı. Bu farklılığı şöyle buldum. Önceki verilmiş beyanname formatlarına bakarak farkı bulmaya çalıştım. daha öncekilerde hazırlanmış dosyalarda .txt dönüştürdükten sonra her sütun arasında 1 boşluk bırakmış. Ancak makro ile dönüştürdüğümüzde birden fazla sayıda boşluk bırakıyor. Beyanname sitesinde yükleme kısmı verileri sütunlar halinde aldığından boşluklar fazla olunca görmüyor bende araştırıyorum. nasıl olabilir diye.

Son belirtmiş olduğunuz kodu tırnak içinde noktalı hali,boşluklu hali bir çok şeklini uyguladım. ancak olmadı. Formüllerde işe yarıyor " " aslında :)
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kod:
Print #1, Cells(i, 3); vbTab; Cells(i, 4); vbTab; Cells(i, 5); vbTab; Cells(i, 6); vbTab; Cells(i, 7); vbTab; Cells(i, 9)
. . .
 
Katılım
20 Ocak 2017
Mesajlar
88
Excel Vers. ve Dili
Microsoft Excel 2013
Altın Üyelik Bitiş Tarihi
20.01.2019
. . .

Kod:
Print #1, Cells(i, 3); vbTab; Cells(i, 4); vbTab; Cells(i, 5); vbTab; Cells(i, 6); vbTab; Cells(i, 7); vbTab; Cells(i, 9)
. . .
Hüseyin Bey,
Ömer Bey,
Çok teşekkür ederim. Son kodu ekledim e-beyanname sitesinde de denedim. Hatasız yükleme gerçekleşti. Yardımlarınız için çok teşekkür ederim :bravo::bravo::bravo::bravo::bravo::bravo::bravo:
 

Ö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.
Ben de eski defterleri biraz karıştırdım, çözümün vbTab olduğunu belirtmek için foruma girdiğimde
Sayın ÇOBAN'ın (aslında SMMM kökenli üyelerimizden cevap geleceğini tahmin ediyordum) cevabını gördüm.

Neticede ihtiyaç görülmüş oluyor, iyi günler dilerim.
.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,573
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Teşekkürler

Sayın Cihan SK,
Sayın Ömer BARAN,
Sayın Emir Hüseyin Çoban,


Ömer bey'in koduna Emir bey'in Print komutunu ekleyerek oluşturduğum "txt" dosyasını, daha sonra; VERİ / Dış Veri Al ile "BEYAN SAYFA SON" sayfasına txt dosyasını seçerek, tam olarak içeri aldım.

Cihan SK ve benim sorunumuz çözülmüş oldu.

Emek ve katkı veren üstatlarımıza bir kez teşekkürler.

Sevgi ve saygılar.
 
Üst