UserForm ile Veri Girişi Püf Noktaları

Bu bölümde UserForm’lar hakkında çeşitli püf noktalarını inceleyeceğiz.

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 Code language: VB.NET (vbnet)

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) Code language: VB.NET (vbnet)

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 Code language: VB.NET (vbnet)

Öncesi

UserForm ile Veri Girişi Püf Noktaları

Sonrası

UserForm ile Veri Girişi Püf Noktaları

Aşağıdaki komutla TextBox içeriği sayı olarak aktarılır.

Range("B" & r).Value = Val(Me.TBfatura.Value) Code language: VB.NET (vbnet)

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 Code language: VB.NET (vbnet)

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 Code language: VB.NET (vbnet)

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 Code language: VB.NET (vbnet)

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 SubCode language: VB.NET (vbnet)

Yayımlandı

kategorisi

yazarı:

Etiketler: