[Yardım]  Textbox

Metin Kutucuğu. Bir programcının olmazsa olmazlarındandır.

Textbox

İleti#1)  Mehmetcetinkaya » 12 Şub 2020 20:49

Merhaba vba ile hesap makinesi yapmaya çalışıyorum. Örneğin; textbox' a girilen sin(30) ifadesini eşittir butonuna tıkladıgımda textboxta 0.5 değerini vermesini istiyorum. Butona tıklandığında;
if Right(TextBox1.Text, 1) = ")" Then
TextBox1.Text = val(Left(TextBox1.Text, Len(TextBox1.Text) - 1) + "*" + "Application.WorksheetFunction.Pi()" + "/" + "180" + ")")
bu şekilde yapmaya çalışıyorum ama 0 değerini alıyorum. Yardımcı olabilir misiniz ?
Kullanıcı avatarı
Mehmetcetinkaya
 
Kayıt: 12 Şub 2020 00:05
Meslek: Öğrenci
Yaş: 24
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kütahya/Merkez

Cevap: Textbox

İleti#2)  Ömer BARAN » 12 Şub 2020 23:26

Merhaba.

Excel belgesinde bir hücreye =SİN( yazdığınızda fareyle, formül çubuğunun solundaki f(x) düğmesine tıklarsanız;
Ms.Excel'in SİN ( COS için de aynı şey geçerli ) değerini doğrudan derece bilgisi üzerinden değil, bunun RADYAN cinsinden
değeri üzerinden hesapladığını görebilirsiniz.
RADYAN ise DERECE * Pİ / 180 şeklinde hesaplandıına göre;

-- ya =SİN(RADYAN(A1)) şeklinde,
-- ya da =SİN(A1*Pİ()/180) şeklinde

formül oluşturarak belirttiğiniz 0,5 sonucunu alabilirsiniz.

VBA içinde de DERECE değerini benzer bir matematiksel işlemden geçirerek, SİNÜS hesaplamasını yapabilirsiniz.

.
☾✭ İnadına TÜRKÇE ✭☽

Sorularınızı bana https://www.ExcelDestek.Com 'dan da sorabilirsiniz.




.
Kullanıcı avatarı
Ömer BARAN
Siteye Alışmış
 
Adı Soyadı:ÖMER BARAN
Kayıt: 29 Oca 2013 16:17
Konum: ANKARA
Meslek: EMEKLİ
Yaş: 56
İleti: 225
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA / ÇANKAYA

Cevap: Textbox

İleti#3)  Mehmetcetinkaya » 13 Şub 2020 01:46

Merhaba yanıtınız için teşekkür ederim. Fakat aradığım şey bu değildi. Dediğiniz gibi radyan üzerinden hesapladığını biliyorum.
VBA' da radyanı dereceye çeviren bir komut var mı bilmiyorum. Bunun yerine;
x=30 * Application.WorksheetFunction.Pi() / 180
olarak yaptığımda x değişkeni 0.5 değerini alıyor. Benim yapmak istediğim; sin isimli butona tıklandığında textbox' a sin( yazdırıp sonrasında mesela 30 yazdığımızda textbox ifadesi sin(30 sonra ")" butonuna tıkladıgımızda textbox ifadesi sin(30) ve son olarak eşittir butonuna bastığımızda textbox ifadesinin 0.5 olmasını istiyorum. Eşittir butonuna basmadan önceki bütün işlemler de bir sorun olmadan anlattığım gibi gerçekleşiyor. Sorun eşittir butonuna basıldığında oluşuyor. Ben eşittir butonuna tıkladığımda textboxta 0.5 ifadesini almak için başta x değişkeninde kullandığım mantığı kullanarak eşittire tıklanınca
If Right(TextBox1.Text, 1) = ")" Then
TextBox1.Text = val(Left(TextBox1.Text, Len(TextBox1.Text) - 1) + "*" + "Application.WorksheetFunction.Pi()" + "/" + "180" + ")")
End If

şeklinde işlem yaptırdım ama textboxta 0 değeri aldı. Bunun yerine ne yapmalıyım ? Umarım açıklayıcı olabilmişimdir. Şimdiden teşekkür ederim.
Kullanıcı avatarı
Mehmetcetinkaya
 
Kayıt: 12 Şub 2020 00:05
Meslek: Öğrenci
Yaş: 24
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kütahya/Merkez

Cevap: Textbox

İleti#4)  Ömer BARAN » 13 Şub 2020 12:33

CommandButton1'e tıklandığında Textbox'a sin( yazdırılıp imlecin Textboxta olması sağlanır,
Sayısal DERECE bilgisi yazılıp ENTER tuşuna basıldığında sin(DERECE nin sonuna ) eklenir ve sin(DERECE) haline gelir,
Commanbutto2 ise hesaplama yapılmasını sağlayıp sonucunu Textboa yazdırır.

Kod: Tümünü seç
Private Sub CommandButton1_Click()
TextBox1 = "sin("
TextBox1.SetFocus
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = TextBox1 & ")"
End Sub

Private Sub CommandButton2_Click()
If Right(TextBox1, 1) = ")" Then Exit Sub
TextBox1 = Round(Sin(WorksheetFunction.radians(Mid(TextBox1, 5, Len(TextBox1) - 5))), 4)
End Sub
☾✭ İnadına TÜRKÇE ✭☽

Sorularınızı bana https://www.ExcelDestek.Com 'dan da sorabilirsiniz.




.
Kullanıcı avatarı
Ömer BARAN
Siteye Alışmış
 
Adı Soyadı:ÖMER BARAN
Kayıt: 29 Oca 2013 16:17
Konum: ANKARA
Meslek: EMEKLİ
Yaş: 56
İleti: 225
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA / ÇANKAYA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Textbox

İleti#5)  Mehmetcetinkaya » 13 Şub 2020 23:02

Yardımınız için çok teşekkür ederim :)
Kullanıcı avatarı
Mehmetcetinkaya
 
Kayıt: 12 Şub 2020 00:05
Meslek: Öğrenci
Yaş: 24
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Kütahya/Merkez

Cevap: Textbox

İleti#6)  Ömer BARAN » 13 Şub 2020 23:56

Sanırım bir hususu atlamışım.

Gerçi kendiniz de fark etmişsinizdir ama
kayıtlara geçmesi bakımından ilave mesaj ile durumu belirteyim dedim.

Verdiğim kodda
If Right(TextBox1, 1) = ")" Then Exit Sub
satırının
If Right(TextBox1, 1) <> ")" Then Exit Sub
olması gerekiyordu.
☾✭ İnadına TÜRKÇE ✭☽

Sorularınızı bana https://www.ExcelDestek.Com 'dan da sorabilirsiniz.




.
Kullanıcı avatarı
Ömer BARAN
Siteye Alışmış
 
Adı Soyadı:ÖMER BARAN
Kayıt: 29 Oca 2013 16:17
Konum: ANKARA
Meslek: EMEKLİ
Yaş: 56
İleti: 225
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA / ÇANKAYA

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Forum TextBox

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe