SpinButton'la Değer Yükseltme ve Azaltma

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Herkese Selamlar ve Sevgiler,
SpinButton'la değer Yükselten ve Azaltan şöyle bir kod kullanıyorum.

Private Sub SpinButton1_SpinDown()
[a1] = [a1] - 1
End Sub
Private Sub SpinButton1_SpinUp()
[a1] = [a1] + 1
End Sub


Bu kodla SpinButton'un aşağı ok(eksili"-") kısmına basıldığında, bir(1) rakamında dursun. Yani eksi 1, eksi 2....... olarak gitmesin. 1 rakamında sabitlensin. Rakamları büyükten küçüğe doğru azaltırken 1(bir) rakamında(sayısında) sabitlesin. Rakamları yukarıdan aşağı doğru eksiltsin. 1(bir)sayısında dursun, sabitlensin. Eksili duruma gelmesin.
Teşekkür ediyorum.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Eğer bunu bir excel sayfasına eklediyseniz spin kontrolü sağ tuş ile tıklayıp Denetim biçimlendir-denetim kısmına girip en küçük değer yazan kısmı 1 e ayarlayın
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Userforma eklediysenizde spinbutton1 in categorized kısmında scrolling min değerini 1'e ayarlayın
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Onu biliyorum. Yerleşik fonksiyonla yapıldığını biliyorum. SpinButton'a tıklandığı zaman kodlu kısım ayrı bir hücrede, yerleşik fonksiyon(Denetim Araç Kutusu) ayrı bir hücrede değerlerin değişmesi gerek. Ã?rnek olarak :
Kodla yapılanı SpinButtona tıklandığı zaman A1 hücresinde değer azalıp çoğalıyor. Denetim Araç Kutusu ile yapılanı B1 hücresine de yapıldığında; iki hücrede de değerler aşağı ve yukarı aynı anda yapılabiliniyor. Yaptığım çalışma ile ilgili tek bir SpinButton'la iki ayrı hücrede değerleri aşağı-yukarı yapmak. Kodla yapılanı bu haliyle 1' sayısında sabitlenemiyor. İşte kodta yapılacak bir değişiklikle, SpinButton'un aşağı tırnağına basıldığında, var olan sayıyı 1 sayısına getirip sabitlemesidir. Kod bu haliyle varolan sayıyı eksilere götüyor. Teşekkürlerimi sunuyorum.
 
Katılım
18 Aralık 2005
Mesajlar
1
Soruyu tam olarak doğru mu anladım bilmiyorum ama, aşağıdaki gibi bir if kontrolüyle sorun halledilebilir sanırım.

[a1] = [a1] - 1
If [a1] <= 1 Then [a1] = 1
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Kodunuz şu şekilde bir deneyin

Private Sub SpinButton1_SpinDown()
If [a1] = 1 Then GoTo 10
[a1] = [a1] - 1
10 Exit Sub
End Sub
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Allah Razı Olsun. Mükemmel.
 
Üst