SpinButton ile belirli sütunları açmak/daraltmak

EKREM1661

Altın Üye
Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Altın Üyelik Bitiş Tarihi
03-02-2026
Değerli Arkadaşlarımıza selam ve sevgilerle ve hayırlı akşamlar..!

Şöyle bir uygulama : UserForm üzerinde; SpinButton ile istenilen sütunları kademeler halinde piksel değerlerine göre açmak ve daraltmak..

Diyelimki; B,D,E,F,G,I,K,M,N,O,P,Q,R,S,T,U,V,W sütun genişlikleri 6,00 piksel değerinde olsun.
SpinButton 'a ilk tıklayışta bu tütunları; 6,14 genişlik değerine, ikinci tık ile 6,29. üçüncü tık ile 6,43. sonra 6,57. sonra 6,71 daha sonra 6,86 ve 7,00 gibi bu şekilde ileri geri devam ettirmek..

Buna ait bir kodu nasıl düzenleyebiliriz..
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Ekli örneği inceleyiniz.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Benimde çalışmam boşa gitmesin Sayın leumruk yanıtlamış.

A, C-D, G-I (Yeşil renkli) sütunların genişliğini ayarlar.

Kod:
Dim Genişlik As Double
Private Sub SpinButton1_SpinDown()
Genişlik = Genişlik - 0.15
If Genişlik < 6 Then Genişlik = 6
TextBox1.Value = Genişlik
Range("A:A,C:D,G:J").ColumnWidth = Genişlik
End Sub
Kod:
Private Sub SpinButton1_SpinUp()
Genişlik = Genişlik + 0.15
TextBox1.Value = Genişlik
Range("A:A,C:D,G:J").ColumnWidth = Genişlik
End Sub
Kod:
Private Sub UserForm_Initialize()
Genişlik = 6
TextBox1.Value = Genişlik
Range("A:A,C:D,G:J").ColumnWidth = Genişlik
End Sub
 

Ekli dosyalar

EKREM1661

Altın Üye
Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Altın Üyelik Bitiş Tarihi
03-02-2026
Sayın leumruk ve sayın Necdet Yeşertener arkadaşlarımıza ziyadesiyle teşekkür ediyorum..
Her iki örnek de, farklı yöntem itibariyle çok işime yarıyacak..
 

EKREM1661

Altın Üye
Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Altın Üyelik Bitiş Tarihi
03-02-2026
Saygıdeğer Arkadaşlar..! önce herkese selamlarımı iletiyorum..

Yukarıdaki sorunun cevabını almıştım, Ancak işlemi şu şekilde değiştirebilirmiyiz..
Örneklerde; SpinButton'a ilk tıklandığında, ilgili sütunları açılımını ilk değer olan (6,00 piksel değerinden başlatıyor, mevcut değerleri bozuyor..

İstenilen şu: Belirtilen sütunların genişlik değeri kaç pikselde ise, o değerden itibaren başlatarak açma/daraltma yapmak..
Yani başlangıç değeri belirmiyeceğiz, örneğin; sütunların birinin değeri 6,14 ve diğerinin değeri 6,71 ise; Makroyu ilk çalıştırdığımız zaman, birinin değeri 6,29, diğerinin değeri 6,86 olacağı gibi..
Belkide istenileni tam anlatamadım ama...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Saygıdeğer Arkadaşlar..! önce herkese selamlarımı iletiyorum..

Yukarıdaki sorunun cevabını almıştım, Ancak işlemi şu şekilde değiştirebilirmiyiz..
Örneklerde; SpinButton'a ilk tıklandığında, ilgili sütunları açılımını ilk değer olan (6,00 piksel değerinden başlatıyor, mevcut değerleri bozuyor..

İstenilen şu: Belirtilen sütunların genişlik değeri kaç pikselde ise, o değerden itibaren başlatarak açma/daraltma yapmak..
Yani başlangıç değeri belirmiyeceğiz, örneğin; sütunların birinin değeri 6,14 ve diğerinin değeri 6,71 ise; Makroyu ilk çalıştırdığımız zaman, birinin değeri 6,29, diğerinin değeri 6,86 olacağı gibi..
Belkide istenileni tam anlatamadım ama...
Dosyanız ekte.:cool:
Kod:
Private Sub SpinButton1_SpinDown()
Dim hcr As Range
For Each hcr In Range("B1,D1,E1,F1,G1,I1,K1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1")
    hcr.ColumnWidth = hcr.ColumnWidth - 4
Next hcr
End Sub

Private Sub SpinButton1_SpinUp()

For Each hcr In Range("B1,D1,E1,F1,G1,I1,K1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1")
    hcr.ColumnWidth = hcr.ColumnWidth + 4
Next hcr

End Sub
 

Ekli dosyalar

EKREM1661

Altın Üye
Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Altın Üyelik Bitiş Tarihi
03-02-2026
Çok değerli üstad Sn.Evren Bey..!

Gerçekten harikulade olmuş, Sadece aklımda olan bir soruyu da sormuş olayım,
Bu sütunların genişletilip/daraltılmasına sınır koyabilirmiyiz..Örneğin çalışan makro bu eylemi 6 ile 12 piksel değerleri arasında yapsın, bu değerlerin dışına çıktığında uyarı versin..

Not: Saygıdeğer hocam..Eğer kafa karışıklığı oluşturacaksa hiç uğraşmayın, nitekim istediğimin aslolanı aldım..Kalın sağlıcakla..
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
6dan küçük ve 12den büyük olmuyor.:cool:
Kod:
Private Sub SpinButton1_SpinDown()
Dim hcr As Range
For Each hcr In Range("B1,D1,E1,F1,G1,I1,K1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1")
    If hcr.ColumnWidth - 4 <= 6 Then
        hcr.ColumnWidth = 6
        Else
        hcr.ColumnWidth = hcr.ColumnWidth - 4
    End If
Next hcr
End Sub

Private Sub SpinButton1_SpinUp()
Dim hcr As Range
For Each hcr In Range("B1,D1,E1,F1,G1,I1,K1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1")
    If hcr.ColumnWidth + 4 >= 12 Then
        hcr.ColumnWidth = 12
        Else
        hcr.ColumnWidth = hcr.ColumnWidth + 4
    End If
Next hcr

End Sub
 

Ekli dosyalar

EKREM1661

Altın Üye
Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Altın Üyelik Bitiş Tarihi
03-02-2026
Sn.Evren Bey..! zahmet oldu ve de pek ağla olmuş, ziyadesiyle teşekkürler.. iyi akşamlar diliyorum..
 
Üst