Sayfadan userforma ondalık sayı olarak çekmek

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
1) Arkadaşlar userformdan girdiğim sayılar ilgili excel sayfasında (SABİT) formüllerle ondalık sayı tipinde sonuçlar veriyor. 145.654 ya da 1.625 gibi (virgülden sonra kuruş hesabı yapmasın)

Bu sonuçları userforma aktardığımda se düz sayı geliyor 145654 ya da 1625 gibi
çektiğim formül bu.
EYLKP = Worksheets("SABİT").Cells(2, 16)
nereye ne yazarsam userformda binlik ayraçlı yazı tip olur

2) ilgili sayfada bir çok formül (çokeğersay, çoketopla, düşeyara) var.
Bu formüller bir tabloyu şekillendiriyor. Bu tablonun verilerine anlık ihtiyacım yok. bu şekilde kaydetme işini yavaşlatıyor.
O tablodaki formüller kaydetme sırasında etkin olmasa da sadece bir butona basınca etkin olsa kaydetmem hızlanacak.
Anlık sonuçlara ihtiyacım yok. Programda bir sayfayı istediğim zaman etkinleştirmek/pasifleştirmek mümkün mü? ya da başka yol
 

Korhan Ayhan

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

Binlik ayıracak için aşağıdakilerden birisini deneyiniz.

EYLKP = Format(Worksheets("SABİT").Cells(2, 16), "#,##0.00")

EYLKP = Worksheets("SABİT").Cells(2, 16).Text

Formüller yoğunsa yavaş çalışması normaldir. Hesaplama yöntemini ELLE şeklinde ayarlayarak çalışmaya hız kazandırabilirsiniz. Eğer kaydetme anında bir katkı sağlamazsa sadece ilk satırda formül kalacak şekilde formülleri saldırıp sonra dosyayı kaydettirin. Böylece tek satırda formül olacağı için hızlı işlem yapacaktır. Kaydetme işleminden sonra ilk satırdaki formülleri tekrar alana yazdıracak sonuç alabilirsiniz.

Ya da formüllerin yaptığı işlemlerin hepsini makro ile yaparak tüm formüllerden kurtulabilirsiniz. Böylece dosyanız çok hızlı çalışacaktır.
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
Teşekkür ederim, ikinci yöntem işimi gördü

Merhaba,

Binlik ayıracak için aşağıdakilerden birisini deneyiniz.

EYLKP = Format(Worksheets("SABİT").Cells(2, 16), "#,##0.00")

EYLKP = Worksheets("SABİT").Cells(2, 16).Text

Formüller yoğunsa yavaş çalışması normaldir. Hesaplama yöntemini ELLE şeklinde ayarlayarak çalışmaya hız kazandırabilirsiniz. Eğer kaydetme anında bir katkı sağlamazsa sadece ilk satırda formül kalacak şekilde formülleri saldırıp sonra dosyayı kaydettirin. Böylece tek satırda formül olacağı için hızlı işlem yapacaktır. Kaydetme işleminden sonra ilk satırdaki formülleri tekrar alana yazdıracak sonuç alabilirsiniz.

Ya da formüllerin yaptığı işlemlerin hepsini makro ile yaparak tüm formüllerden kurtulabilirsiniz. Böylece dosyanız çok hızlı çalışacaktır.
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
Worksheets("ANATABLO").Cells(DDG, 11) = AMIKTAR.Value

peki böyle bir formülde, miktar olarak yazılan 1654 şeklindeki sayıyı 1.654 olarak tabloya kaysdetmek istesek nresine ne yazacağız?
Worksheets("ANATABLO").Cells(DDG, 11).text = AMIKTAR.Value işe yaramadı
Merhaba,

Binlik ayıracak için aşağıdakilerden birisini deneyiniz.

EYLKP = Format(Worksheets("SABİT").Cells(2, 16), "#,##0.00")

EYLKP = Worksheets("SABİT").Cells(2, 16).Text

Formüller yoğunsa yavaş çalışması normaldir. Hesaplama yöntemini ELLE şeklinde ayarlayarak çalışmaya hız kazandırabilirsiniz. Eğer kaydetme anında bir katkı sağlamazsa sadece ilk satırda formül kalacak şekilde formülleri saldırıp sonra dosyayı kaydettirin. Böylece tek satırda formül olacağı için hızlı işlem yapacaktır. Kaydetme işleminden sonra ilk satırdaki formülleri tekrar alana yazdıracak sonuç alabilirsiniz.

Ya da formüllerin yaptığı işlemlerin hepsini makro ile yaparak tüm formüllerden kurtulabilirsiniz. Böylece dosyanız çok hızlı çalışacaktır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,149
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aslında birinci önerimde aşağıdaki gibi olursa ise yarar. Mesajı yazarken düzeltmeyi atlamışım.

EYLKP = Format(Worksheets("SABİT").Cells(2, 16), "#,##0")

Veriyi yazdırdığınız excel hücresinin biçimini değiştirerek çözüm bulabilirsiniz. Bu işlemi ilgili sütunu seçerek hücre biçimlendirme menüsünden Binlik ayraç olacak şekilde biçimlendirerek kökünden çözebileceğiniz gibi, her veri aktarımında hücreyi makro ile biçimlendirerekte çözebilirsiniz.

Worksheets("ANATABLO").Cells(DDG, 11) = AMIKTAR.Value
Worksheets("ANATABLO").Cells(DDG, 11).NumberFormat = "#,##0"

Sanırım yeni bir uygulama yapıyorsunuz. Linkteki konuları incelerseniz sorularınızın cevaplarını bulacağınızı düşünüyorum.


 
Üst