İki Koşullu Veri Aktarma

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu durumda benim yapabileceğim birşey yok maalesef.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
Korhan Bey,

Ziynettin Bey'in kodundada aynı hatayı veriyor.
Makroyu çalıştırdığım durumda titus programında Object2 yazıyor. Yeni bir excel açtım ve kaydetmek istedim. Object2 yazan yerden Kitap1 yazıyor.
Bu birşeyi ifade edebilir mi.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Üzgünüm bilmediğim birşey hakkında yorum yapamayacağım. Belki bilen arkadaşlar yorum yapabilirler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
@gicimi,

Yönlendirme için teşekkür ederim.

Orada bahsedilen çözümü #29 nolu mesajımda ki koda uyarladım.

@MrExcelMr deneyip sonucu bildirirse memnun olurum.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
@gicimi,

Yönlendirme için teşekkür ederim.

Orada bahsedilen çözümü #29 nolu mesajımda ki koda uyarladım.

@MrExcelMr deneyip sonucu bildirirse memnun olurum.
Korhan Bey Merhabalar,
Malesef olmadı. Ayn hata ile karşılaştım. Ziynettin Bey'in hazırlamış olduğu #27 mesajdaki koda sizin eklendiğiniz kodu ekledim. Orda ise aşağıdaki kodda duruyor.
Hata olarak,

Run-time error 1004:
Geçersiz bir ad yazdınız. Aşağıdakilerden emin olun:
Yazdığınız ad 31 karakterden uzun olmamalıdır.
Ad şu karakterlerden hiçbiri içermemelidir. :\/?*
Ad boş bırakılmamalıdır.

ActiveWorkbook.ActiveSheet.Name = sh(j)

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Peki kodu F8 ile adım adım çalıştırdığınızda tam olarak hangi satırda bu hatayı veriyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben kendi önerdiğim kodu kast etmiştim.

Excelde sayfa isimleri 31 karakterden uzun olamaz. Eğer uzunluk bu sınırı aşıyorsa hata alırsınız.

O bölümü aşağıdaki gibi değiştirip kullanabilirsiniz.

ActiveWorkbook.ActiveSheet.Name = Left(sh(j), 31)
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
Ben kendi önerdiğim kodu kast etmiştim.

Excelde sayfa isimleri 31 karakterden uzun olamaz. Eğer uzunluk bu sınırı aşıyorsa hata alırsınız.

O bölümü aşağıdaki gibi değiştirip kullanabilirsiniz.

ActiveWorkbook.ActiveSheet.Name = Left(sh(j), 31)
Korhan Bey sizin Kodda ise,

Sh.SaveAs File_Folder & My_Recordset(0) & ".xlsx", 51 burda takılıyor.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
Ben kendi önerdiğim kodu kast etmiştim.

Excelde sayfa isimleri 31 karakterden uzun olamaz. Eğer uzunluk bu sınırı aşıyorsa hata alırsınız.

O bölümü aşağıdaki gibi değiştirip kullanabilirsiniz.

ActiveWorkbook.ActiveSheet.Name = Left(sh(j), 31)
Korhan Bey,
Kodu dediğiniz gibi güncelledim. Bu sefer sizin ActiveWorkbook.ActiveSheet.Name = Left(sh(j), 31) kodunda takıldı.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
@gicimi'nin #45 nolu mesajda paylaştığı linkte en son mesajı çevirince aşağıdaki bölümde çözüme dair açıklama yapılmış.

Titus yazılımı yeni boş bir excel dosyası oluşturup kaydetttiğinizde devreye giriyormuş. Fakat önceden boş bir çalışma kitabı oluşturup kaydederseniz kod içinde bu kitabı kullanıp işlem yapıldığında ve farklı kaydet özelliği kullanıldığında sorun çıkarmıyormuş. Kırmızı bölümde bu yönde açıklama yapılmış.

Böyle kullanabilirim derseniz üzerinde çalışabiliriz.

Ben bir VBA kodlayıcı değilim ama arkadaşlarım bunun üzerinde çalışıyordu
Bulduğumuz çözüm Titus'un davranışındaydı.
Kaydettiğinizde herhangi bir yeni çalışma kitabını sınıflandırmanızı isteyecektir. Not yeni, önceden kaydedilmiş bir çalışma kitabı değil. Böylece boş bir çalışma kitabı oluşturduk ve kaydettik (gerekli sınıflandırma ile)
Bu çalışma kitabını almak ve ona veri eklemek ve gerekli dosyaları oluşturmak için farklı kaydet özelliğini kullanmak için kod değiştirildi
Herhangi bir sorun olmadan sorunsuz çalışmaktadır.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
@gicimi'nin #45 nolu mesajda paylaştığı linkte en son mesajı çevirince aşağıdaki bölümde çözüme dair açıklama yapılmış.

Titus yazılımı yeni boş bir excel dosyası oluşturup kaydetttiğinizde devreye giriyormuş. Fakat önceden boş bir çalışma kitabı oluşturup kaydederseniz kod içinde bu kitabı kullanıp işlem yapıldığında ve farklı kaydet özelliği kullanıldığında sorun çıkarmıyormuş. Kırmızı bölümde bu yönde açıklama yapılmış.

Böyle kullanabilirim derseniz üzerinde çalışabiliriz.
Korhan Bey,
Destek olursanız benim için sıkıntı yok. Hemde farklı dosyalarda da kullanım açısından faydalı olacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
O zaman boş bir çalışma kitabını Titus ile kaydedip forumda paylaşırsanız ona göre önerdiğim kodu revize etmeye çalışırım.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
Korhan Bey,
Hastane PC lerinden dosya aktarımı yapamıyoruz. Benim aklıma şöyle bir yöntem geldi. Sizce olma şansı var mı _?
Açıklama kısmında örneğin 10 çeşit aşı olduğunu düşelim. Ben aynı formatta ve Açıklama kısmında ismi ile yeni excel kitabı oluşturup klasörün içerisine TİTUS sınıflandırıp kaydedeyim. Aktarılacak aynı sayfa formatında uygun olur mu_?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bir tane dosya oluşturmanız yeterli olacaktır.

Adına da Kitap1 dersiniz. Sabit olarak onu kullanıp diğer aşı isimlerine göre dosyaları üretebiliriz. Tabi ki deneme yapamadığım için çalışacağı konusunda şüphelerim var. Ama denemekten zarar gelmez.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
Korhan Bey,
Kodu dediğiniz gibi güncelledim. Bu sefer sizin ActiveWorkbook.ActiveSheet.Name = Left(sh(j), 31) kodunda takıldı.
Korhan Bey,
Şimdi kodları dosyaları tekrar incelerken Zİynettin Bey'in kodları çalıştı. Çalışmama sebebi, Açıklama kısmında bir aşının adını sistemden Biontech-1 olduğundan dolayı hata almış. TİTUS burda devreye girmedi. Direk verileri klasörün içerisine oluşturdu.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
Bir tane dosya oluşturmanız yeterli olacaktır.

Adına da Kitap1 dersiniz. Sabit olarak onu kullanıp diğer aşı isimlerine göre dosyaları üretebiliriz. Tabi ki deneme yapamadığım için çalışacağı konusunda şüphelerim var. Ama denemekten zarar gelmez.
Korhan Bey,
Sizin kodlarda Masaüstüne yeni bir klasör oluşturup, Aşılar günün tarihi oluşturup içerisine excel dosyası oluşturuyor. Ben şimdi kitap1 adında bir kitabı hangi klasöre oluşturmam gerekecek.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,032
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Farketmez. Dosyanın bulunduğu adresi bilelim yeterli. (Masaüstü olabilir mesela..)
 
Üst