Userform İçinde Formül

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
130
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Merhaba,

Yapılabilir mi bilmiyorum, Userform içerisine, bildiğimiz eğersay formül sonucunu yazdırmak istiyorum. Yani Userform içerisinde küçük bir bölgeye ( Kare şeklinde vb. ), A1:A1800 Sütunu aralığında, "Macd" kelimesini içeren hücre sayısını yazdırmak istiyorum.

Yardımcı olabilecek değerli üyelere şimdiden çok teşekkür ederim
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,163
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;

Private Sub CommandButton1_Click()
TextBox1 = WorksheetFunction.CountIf(Sheets("sayfa1").Range("a1:a1800"), "Macd")
End Sub

Ben işlemi CommandButton'a bağladım siz isteğinize göre tetiklemeyi ve veri saydıracağınız sayfa adını düzenleyin.

İyi çalışmalar.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,698
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
Private Sub CommandButton1_Click()
    TextBox1 = WorksheetFunction.CountIf([A1:A1800], "*Macd*")
End Sub
böyle deneyin.
 

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
130
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Cevaplarınız için çok teşekkür ederim fakat verdiğiniz yanıtlar sanırım açılır bir userform şeklinde görüntüleniyor.

Ben hali-hazırda varolan bir Userform içerisinde bir bölgeye formül sonucunun görünmesini istiyorum. Yani görseldeki beyaz renkli bölgede görüntülenmesi istiyorum. Beyaz renkli bölge Text Box 'tır. Text Box içeirisnde formül sonucu örneğin "21 Sinyal" yazsın istiyorum

253719
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,698
Excel Vers. ve Dili
Excel 2019 Türkçe
Her şey tamam şu halde... Sizin yapmanız gereken forma bir buton eklemeniz... Textbox adını forma eklediğiniz şekilde değiştirebilirsiniz. Kodun sonuna da Sinyal yazmanız yeterli.
Kod:
Private Sub CommandButton1_Click()
    TextBox1 = WorksheetFunction.CountIf([A1:A1800], "*Macd*") & " Sinyal "
End Sub
 

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
130
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Evet oldu. Muhteşemsiniz. Çok Teşekkür ederim
 

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
130
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Peki son 1 kere daha sizi rahatsız ediyorum müsaadenizle Sayın @hamitcan bey,

Aşağıdaki Usefromu ben If Target.Address(False, False) = "O2" Then UserForm13.Show Formülü ile çağırıyorum. Userform açıldığında ise tetikleyici düğmelere basmadan Text box ların içi boş geliyor.

Acaba Userform açıldığında, yukarıda verdiğiniz formülleri ben çoğalttığımda ( Yani yaklaşık 20 Text Box olacak ), Her bir TExt Box içinde formül sonuçlarını görebilmemin bir yolu var mı acaba ?

Ve ayrıca, Eğersay formülü dışında, ( VBA Kod olarak ), bu formül =EĞERHATA(EĞER(TOPLA.ÇARPIM(ALTTOPLAM(3;KAYDIR(FILTRE!I$3:I$1800;SATIR(FILTRE!I$3:I$1800)-MİN(SATIR(FILTRE!I$3:I$1800));;1));--ESAYIYSA(MBUL("Macd";FILTRE!I$3:I$1800)))=0;"";TOPLA.ÇARPIM(ALTTOPLAM(3;KAYDIR(FILTRE!I$3:I$1800;SATIR(FILTRE!I$3:I$1800)-MİN(SATIR(FILTRE!I$3:I$1800));;1));--ESAYIYSA(MBUL("Macd";FILTRE!I$3:I$1800))));"") , yukarıda vermiş olduğunuz formülün yerine VBA olarak nasıl yazılır ? ( Aslında Alttoplam benzeri bir formül ( kod olarak ) arıyorum.

253720
 
Son düzenleme:

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,698
Excel Vers. ve Dili
Excel 2019 Türkçe
Initialize olayı içinde bu işlemi yapıp, aşağıdaki gibi kodu çoğaltabilirsiniz.
Kod:
Private Sub UserForm_Initialize()
    TextBox1 = WorksheetFunction.CountIf([A1:A1800], "*Macd*") & " Sinyal "
    TextBox2 = WorksheetFunction.CountIf([A1:A1800], "*Macd*") & " Sinyal "
End Sub
İkinci sorunuz için; vba tarafında tabii ki yapılabilir...ama formül ile yapmışsanız madem buradaki sonucu forma getirmek daha kolay gibi görünüyor.
 
Üst