Soru Sayı Formatlarının Düzenlenmesi

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
204
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Arkadaşlar herkese günaydın: Aşağıda görmüş olduğunuz kodlar var. Bunları Korhan bey yazmıştı. gayet hızlı çalışan bir kod kendisine tekrar tşk ederim. (Ben Sorgu = yazan kısmın devamını buraya alırken kısalttım kalabalık olmaması için)

Makromda bir biçimlendirmeye ihtiyacım var. Kaynak sayfalarda bazı alanlar formüllü. Bunları çekerken metin formatında atıyor ama hepsini öyle yapmıyor. sütunun biri normal gelirken bir diğeri sayı formatı haricinde geliyor. (Ara başlıklar ise metin olanlar hiç gelmiyor.) Ben en alta şöyle bir ekleme yapıyorum ama olmuyor. Birde eksi karakterli olanları parantez içine almak istiyorum. Bunu hücre biçimlendirmesinden ayarlayabiliyorum. Ama kod çalışınca kayboluyor. Eklediğim kod: Range("A02:AA100" & Rows.Count).NumberFormat = "#,##0.00"

Sub Amortisman_Aktar_Munferit()
Dim Dosya As String, Baglanti As Object, Sorgu As String
Dim Kayit_Seti As Object, Sayfa As Worksheet, Zaman As Double
Dim Hedef_Sayfalar As Variant, Kaynak_Sayfalar As Variant, x As Byte

Set Baglanti = CreateObject("AdoDb.Connection")

Dosya = ThisWorkbook.Path & Application.PathSeparator & "AMORTİSMAN_MUNFERİT.xlsm"

Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
Dosya & ";Extended Properties=""Excel 12.0;Hdr=Yes"""

Hedef_Sayfalar = Array("AMORTİSMAN_MUNFERİT")
Kaynak_Sayfalar = Array("MAHSUP")

For x = 0 To UBound(Hedef_Sayfalar)
Set Sayfa = Sheets(CStr(Hedef_Sayfalar(x)))
Sayfa.Range("A2:AQ" & Rows.Count).ClearContents

Sorgu = "Select [HESAP KODLARI 1],[DÖNEM BAŞI BAKİYE 1] ,[DÖNEM GİDERİ 1],[ÇIKIŞLAR 1],[DÖNEM SONU BAKİYE 1] From [" & Kaynak_Sayfalar(x) & "$]"
Set Kayit_Seti = Baglanti.Execute(Sorgu)
Sayfa.Range("A2").CopyFromRecordset Kayit_Seti
Sayfa.Columns.AutoFit
Next

Kayit_Seti.Close
Baglanti.Close
Set Kayit_Seti = Nothing
Set Baglanti = Nothing

Range("S35:U" & Rows.Count).NumberFormat = "#,##0.00"

End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Benim bildiğim bu kodlar verileri değer olarak alırlar, biçimine karışmazlar. Veriler, hedef hücrenin biçimi neyse o biçimde görünürler. Bu durumda kaynak hücredeki veriler sayı değil metin olarak saklanmışlardır muhtemelen. Yani kaynak metin olduğu için hedef sayı biçimine geçiremiyordur. Bunu test etmek için aktardıktan sonra bir hücreyi biçimlendirin ve hücreye F2 ile girip Enter'e basın. Eğer o hücre daha önce ayarladığınız biçime dönerse sorun kaynak verinin metin biçiminde olmasıdır. Düzeltmek için ya kaynakta sayıya dönüştürmeli ya da hedefe aktardıktan sonra sayıya dönüştürmelisiniz.
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
204
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Yusuf hocam ilginiz için tşk ederim. Kaynak dosyada ki hücrelerim sayı formatında dediğiniz gibi baktım onlara. Ancak bir hücre sayı gelirken diğeri Metin gelebiliyor. Biz aktardıktan sonra aktarılan yerlerde sayıya çevir gibi bir şey yazma imkanımız var mı.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,751
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Makro kaydet yöntemi ile Metni Sütunlara Dönüştür işlemini kullanarak verilerinizi sayısal değere çevirebilirsiniz.
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
204
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Üstadım bunları denedim ama olmadı. Verilerim S35;X56 arasında bunun gibi fazlaca sayfam var da unuturuz düzeltmeyi diye yazıyorum
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,751
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Metin olarak verinizin bulunduğu örnek dosyanızı ekleyin inceleyelim.
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
204
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Korhan bey selamlar;

Verileri Amortisman_Munferit dosyasından Bilançoya aktarıyorum. Özellikle (S35: X) aralığı sayı formatında olmasına rağmen metin aktarıyor ama bazı sütunları da sayı aktarıyor. Aslında derdim bütün sayfada ne var ne yok sayı aktarabilmek. Bu aktardıktan sonra aslında manuel düzeltilebilir. Ancak bu şekilde 5 sayfam var benim. Bazen kaynak dosyada defalarca değişiklik yapabiliyorum bu durum da hedef dosyam da her defasında değişiklik yapmak zorunda kalıyorum.
Yardımlarınız için tşk ederim.
 

Ekli dosyalar

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
204
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Hocam bakabildiniz mi var mı bir çözümü ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,751
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

ADO bir veritabanı sorgulama aracıdır. Düzgün sonuçlar alabilmeniz için verilerinizin tablo mantığı ile düzgün şekilde sınıflandırılmış olması gerekir.

ADO bir sütundaki veri biçimini belirlerken yanlış bilmiyorsam ilk 10 hücreye bakar. Sizin METİN olarak geliyor dediğiniz sütunda ilk hücreler boş. Büyük ihtimalle bu sebeple METİN olarak sonuç veriyor.

İki alternatifiniz var;

1-Boş olan hücrelere sayısal veriler girebilirsiniz. Bu şekilde ADO veri tipini sayı olarak belirler.
2-Makro ile METİN olarak gelen alanı sayısala çevirebilirsiniz.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Korhan bey selamlar;

Verileri Amortisman_Munferit dosyasından Bilançoya aktarıyorum. Özellikle (S35: X) aralığı sayı formatında olmasına rağmen metin aktarıyor ama bazı sütunları da sayı aktarıyor. Aslında derdim bütün sayfada ne var ne yok sayı aktarabilmek. Bu aktardıktan sonra aslında manuel düzeltilebilir. Ancak bu şekilde 5 sayfam var benim. Bazen kaynak dosyada defalarca değişiklik yapabiliyorum bu durum da hedef dosyam da her defasında değişiklik yapmak zorunda kalıyorum.
Yardımlarınız için tşk ederim.
Bu dosyalarda ADO ile sorgu yapılıp veri getirmenizi gerektirecek nasıl bir ihtiyacınız var? Kopyala yapıştır yapmaktan farkı nedir?
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
204
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Yusuf hocam tek bir sayfa olsaydı haklısınız lakin ben sadece örnek sayfa yükledim. Bu şekilde birbirinden veri alan fazla dosya ve sayfa var hepsi ile uğraşmamak adına birde defalarca revize çok yorucu olurdu. Ama şöylede bir durum oldu Korhan beyin tavsiye ettiği ilk yöntem işe yaradı. Her ikinize de ilginiz ve tavsiyeleriniz için minnettarım.
 
Üst