Userform ile matematiksel işlem

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Hazırladığım excel sayfasında bir userform oluşturdum ama ekteki dosyayıda incelediğinizde standart sayfasında her elementin standart çözeltisi için farklı bir hesaplama sözkonusu olduğunu göreceksiniz bunları userformda nasıl kullanabilirim. Herbiri için eşitliği ayrı ayrı yazmam mı gerekecek Elementleri A sütunundan;Stok derişimlerini B sütunundan; Hazırlanacak stokun hacmini C sütununda seçip matematiksel işlemi Userfomda altta gösterdiğim kısımda yapacak.
Aynı işlemleri Çözelti sayfasındada yapmak istiyorum ama biraz daha karışık,yukarıdaki sorunumu halledersem diğer sayfayı örnek userforma uydurabilirim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Standart sayfasının D sütunundaki formullerde bazı sabit sayılar var. Sanırım her element için bunlar değişik.

Aynı şekilde, o formullerde kullandığınız bazı terimler de var. Kod bunları nereden alıcak ?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Evet haklısın Raider ben sadece birkaç tanesi için örnek yapılırsa diğerlerini kendim yazarım diye yolladım.
YUVARLA(B3*(100,0869/40,078)*(C3/1000)*(1/1000);4) &" g CaCO3 alınır"&" bir miktar saf su ile çözülerek "&C3&" ml ye tamamlanır"

ifadesindeki 100,0869/40,078 kısmı her bir element için ayrı

=B25*(C25/1000)*(1/1000) &" g Bi metali alınır"&" (1+1) HNO3 eklenir çözülür "&C25&" ml'ye %2 (v/v)'lik HNO3 ml ile tamamlanır"

Metali kelimesi geçen elementler için ise

(C25/1000)*(1/1000) formülü aynı olmakta.

İlginiz için teşekkürler.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

O zaman başka bir sayfa üzerinde hangi element için hangi sabit değerlerin kullanılacağına dair bir tablo yaparsanız, kod UserForm üzerinden seçilen elemente karşılık gelen bu değeri okuyup, ona göre işlemi sonuçlandırır.

Veya o değerler de bir hesaptan çıkıyorsa, onun hesap metodunu açıklarsanız o hesap, kod içinde yapılabilir.

Ama, sayfa üzerindeki D sütununda yer alan hücrelerde çok fazla sayıda değişken ifadeleriniz var.

Verdiğiniz örnekteki;

- Bi
- (1+1) HNO3
- %2
- HNO3


.... gibi.

Algoritmayı kurarken, bunları her element için tanımlamak gerekecek.

Siz, işin içinde olduğunuz için belki size tuhaf gelebilir böyle bir mantık ama, bilgisayarın aslında bir aptal olduğunu biliyorsunuz. Yorum yapamaz, sadece hangi bilgiler verilirse onlarla, kendisine tarif edilen işleri yapmaya çalışır. Yani bu noktada, koda doğru verileri nerden alacağını ve ne yapmasını gerektiğini doğru tarif etmemiz gerekir.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
- Bi
- (1+1) HNO3
- %2
- HNO3

Gibi kısımlar açıklayıcı ifadeler yani sonuç bölümünde bulunan değerin yanına yazacak

YUVARLA(B3*(100,0869/40,078)*(C3/1000)*(1/1000);4)
YUVARLA(B4*(58,44247/22,98977)*(C4/1000)*(1/1000);4) gibi ifadelerde


Hücre adı B3 ve B4 vb gibi devam edenlerde sadece 100,0869/40,078 ve 58,44247/22,98977 gibi kısımlar değişken diğerleri sabit yani çarpım ve sonrası
*(C3/1000)*(1/1000);4) ve *(C4/1000)*(1/1000);4) sabit

Metali kelimesi geçen her formüldede

B20*(C20/1000)*(1/1000) &" g Mn metali alınır"&" bir miktar 1/1 lik HNO3 ile çözülerek %1 lik HCI ile"&C20&" ml ye tamamlanır"

B20*(C20/1000)*(1/1000) kısım hep sabit

&" g Mn metali alınır"&" bir miktar 1/1 lik HNO3 ile çözülerek %1 lik HCI ile"&C20&" ml ye tamamlanır diye devam eden kısım ise açıklayıcı kısım.

Umarım karışık gelmemiştir. Terimler kafanızı karıştırmasın şu kadar alınır filan ile tamamlanır kelimeleri açıklayıcı bilgiler.Teşekkürler.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Son dosya

D sütunundaki ifadeleri sadeleştirip sizin dediğiniz gibi hesaplama yapan basit formülünü koydum.Ekli dosyayı yolluyorum
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Yeni dosyanızı gördüm. Ama benim demek istediğim bu değildi. O formuller eski dosyada da vardı zaten.

Belki problem bendedir, ne demek istediğimi tam anlatamadım.

Size kolay gelsin, iyi çalışmalar.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sayın Raider,

Siz daha tecrübelisiniz bu konularda,mantık yukarıdaki gibi olacak ,galiba ben karışık ifade ettim. Kusura bakmayın.

Galiba sorunum çözülemeyecek. :(

Ben teşekkür ederim.Sizede iyi çalışmalar.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tekrar merhaba;

Benim demek istediğim aslında şu;

Ã?rneğin, Cr elementini seçtik. Bununla ilgili formulünüz şu:

=ROUND((B9*194,196/51,996)*(C9/1000)*(1/1000);4)

Benim merak ettiğim ise, kodun bu formuldeki 194,196/51,996 kısmını hesaplamak için bu sayıları nereden alacağı.

Herhalde yüzlerce element vardır. O zaman her element için bu değerleri içeren bir veri tabanı oluşturursanız, bu işi yapabilirsiniz.

Zaten, gerisi bir takım sayıların çarpımı - yuvarlanması ... gibi rutin işler.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
B9 B10 B11 gibi devam eden ifadelerden hemen sonra gelen 194,196/51,996 gibi bir hesaplama sabit olup 194,196/51,996 yerine bunun bölümü olan 3,7348 ifadesi D sütununda yer alıyor. D sütununda yer alan sayılar sizin belirttiğiniz veritabanı Ca için D3 hücresinden Ba için D7 hücresinden veri alacak ve bu böyle devam edecek. Cr için B9 hücresindeki veriyi Cr için sabit olan D9 hücresi ile çarpacak

194,196/51,996 olan kısım yani 3,7348 değeri Cr için
alınacak değeri ROUND((B9*D9)*(C9/1000)*(1/1000);4) şeklinde userformda hesaplasın istiyorum.
İlginiz için teşekkürler
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Kendi düşünceme göre ufak bir örnek ekledim.

Boş bir vaktinizde göz atarsınız.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Eline sağlık text kısmını hesaplamanın sonunda gösterebilme işide olursa sorunum kalmayacak. yani 1,4523 gram al 1/1 HCI ile seyrelt .... hacime tamamla gibi.

Sizin gönderdiğiniz örneği inceleyerek mantığı öğrenmeye çalışayım. Userform konusunda hiçbirşey bilmiyorum.

Tekrar teşekkürler.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
.... text kısmını hesaplamanın sonunda gösterebilme işide olursa sorunum kalmayacak....

Ekli dosyayı inceleyiniz.

Bazı elementleri seçtiğinizde, sonuç alanı içinde "TANIMSIZ" ibaresi çıkacak. O elementlerle ilgili tanımları da siz kodun içinde tamamlarsanız, herhalde amacınıza ulaşırsınız.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Ellerine sağlık çok güzel olmuş.Sizin verdiğiniz örneği inceleyerek diğerlerini ben uyarlarım. Vaktinizi ayırıp cevapladığınız için çok teşekkürler.
:bravo:

Sayenizde az çok mantığını anlamaya başladım.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
fructose' Alıntı:
..... Sizin verdiğiniz örneği inceleyerek diğerlerini ben uyarlarım.......

Sayenizde az çok mantığını anlamaya başladım.....
Yukaridaki alıntı + 2 duble rakı + şekerli kahve = :keyif: (Keyif)
 
Üst