View -> Tab Order alanında kullanıcı TAB tuşuna basınca sırasıyla gidilecek alanları belirleyebilirsiniz.
Userform Properties alanında ShowModal özelliğini False yaparsanız Userform açıkken kullanıcı Excel sayfasına veri girişi yapabilir.
Aşağıdaki komut ile TextBox içeriği kontrol edilir.
If Me.TBMusteri = VBA.Constants.vbNullString Then MsgBox "Lütfen müşteri adı girin" Me.TBMusteri.SetFocus Exit Sub End If
Aşağıdaki komut ile TextBox’a girilen yazı için yazım düzeni sağlanır.
Range("A" & r).Value = Excel.WorksheetFunction.Proper(Me.TBMusteri.Value)
Aşağıdaki komut ile Checkbox görünürlüğü kontrol edilebilir.
Private Sub TBMusteri_Change() If Me.TBMusteri.Value <> "" And Me.TBfatura.Value <> "" Then Me.CBcikti.Enabled = True Else Me.CBcikti.Enabled = False End If End Sub
Öncesi
Sonrası
Aşağıdaki komutla TextBox içeriği sayı olarak aktarılır.
Range("B" & r).Value = Val(Me.TBfatura.Value)
Aşağıdaki komutla CheckBox içeriği kullanıcı seçimine göre Excel’e aktarılır
If Me.CBcikti Then '=True (checkbox) anlamına gelir. .Range("C" & r).Value = "EVET" Else .Range("C" & r).Value = "HAYIR" End If
Eğer RowSource özelliğini kullanmadan ComboBox doldurmak istiyorsak Initialize olayını kullanmamız gerekir:
Private Sub UserForm_Initialize() Me.CBislem.AddItem "Seçenek 1" Me.CBislem.AddItem "Seçenek 2" Me.CBislem.AddItem "Seçenek 3" End Sub
ComboBox’da 1. Seçenek ListIndex = 0’dır. 2. Seçenek ListIndex = 1’dir. 3. Seçenek ListIndex = 2’dir…
If Me.CBislem.ListIndex = 0 Then ElseIf Me.CBislem.ListIndex = 1 Then End If
Aşağıdaki komutla listbox içinde birden fazla seçili sayfaları yazdırabilirsiniz:
Sub secili_sayfa_yazdirma() Dim i As Long, c As Long Dim SayfaArray() As String With ActiveSheet.ListBoxSayfa For i = 0 To .ListCount - 1 If .Selected(i) Then ReDim Preserve SayfaArray(c) SayfaArray(c) = .List(i) c = c + 1 End If Next i Sheets(SayfaArray()).PrintPreview ' Sheets(SayfaArray()).PrintOut End With End Sub