• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

SpinButton ile TextBox değerini değiştirmek

  • Konbuyu başlatan Konbuyu başlatan omemo
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Haziran 2016
Mesajlar
50
Excel Vers. ve Dili
Office 2013-Türkçe 64 Bit
Merhaba.
Bir UserForm üzerinde bulunan 10 adet TextBox'un değerini yine 10 adet SpinButton ile değiştiriyorum.
Bunun için 10 ayrı kod yazmam gerekiyor. Bunu yaptım ama, bu işlemin Class modül ile daha kısa yoldan yapılabileceğimi düşünüyorum.
Yazdığım kodlar şöyle;
Kod:
Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
End Sub

Private Sub SpinButton2_Change()
TextBox2.Text = SpinButton2.Value
End Sub

Private Sub SpinButton3_Change()
TextBox3.Text = SpinButton3.Value
End Sub

Bu işlem Class modül ile nasıl yapılabilir?
Teşekkürler.
 
Kod:
Private Sub SpinButton1_Change()
With UserForm1
For i = 1 To 10
  .Controls("TextBox" & i).Value = SpinButton1.Value
Next i
End With
End Sub
 
Merhaba,
Cevap için teşekkür ederim.
Eklediğiniz kod ile bir spinbuton 10 textboxu değiştiriyor.
Ancak istediğim bu değil. 10 ayrı spinbuton 10 ayrı textboxu değiştiriyor. 1. mesajda bu işlemi yaptığım kodlardan örnekler yazdım.
10 spinbuton için 10 ayrı kod yazmak yerine bir kod bloğu ile(Sub) bu işlemin yapılabilirliğini öğrenmeye çalışıyorum.
Forumda yaptığım aramalarda bu işlemi Class Modül ile yapılabileceğini gördüm. Biraz deneme yanılma çalışması yaptım ama olmadı.
Yardımlarınızı bekliyorum.
 
User Formun Kod editörüne

Kod:
Option Explicit

Dim txt(10) As New Class1
Dim Spin(10) As New Class1

Private Sub UserForm_Initialize()
    Dim i As Integer
    For i = 1 To 10
        Set Spin(i).Spin = Controls("SpinButton" & i)
        Set txt(i).txt = Controls("textbox" & i)
    Next
End Sub

Class1 adlı Module

Kod:
Option Explicit

Public WithEvents txt As MSForms.TextBox
Public WithEvents Spin As MSForms.SpinButton

Private Sub Spin_Change()
    Dim Sira As String
    Sira = Replace(Spin.Name, "SpinButton", "")
    UserForm1.Controls("textbox" & Sira).Value = Spin.Value
End Sub

Kodlarını kopyalayın.

Dikkat etmeniz gereken husus SpinButton ve TexBox kontrollerinin isimlerinin TexBox1, TexBox2, TexBox3...., SpinButton1, SpinButton2, SpinButton3... şeklinde olması gerekiyor.
 
Teşekkürler...
Beni bir hayli uğraştırmıştı.
Şimdi nerede hata yaptığımı daha iyi anladım.
 
Sayfadaki değeri Spinbutton ile Sayfa içindeki Textboxta döndürmek.

Merhabalar Hocam;
UserForm da değilde

Sayfa içindeki
örnek Sayfa1 deki C3:G3 aralığındaki değerleri
Spinbutton ile kendi içinde döndürerek bunuda Textbox1 e atamak istersek ne yapmalıyız.
Bunun Kodu nasıl Olmalıdır.




[/CODE][/QUOTE]
antonio;854993]
Kod:
Private Sub SpinButton1_Change()
With UserForm1
For i = 1 To 10
  .Controls("TextBox" & i).Value = SpinButton1.Value
Next i
End With
End Sub
[/QUOTE]
 

Ekli dosyalar

  • Spinbutton.JPG
    Spinbutton.JPG
    32.1 KB · Görüntüleme: 8
Geri
Üst