Rica ederim.
Tam olarak dediğinizi anlayamadım.Eğer son dediklerimi uyguladıysanız zaten Userform1 kapanıp açılmıyordu.
Sayfa adını seçince otomatik olarak o sayfadaki veriler combobox ve listboxa geliyor.
Private Sub UserForm_Initialize()
kodunun altına
ComboBox3.Clear
eklenmeli tabii unutmuşsunuz.
Sayfadan Bazı hücrelerdeki verileri TextBoxlarda gösteriyorum.
Örneğin G1 hücresindeki veriyi TextBox24 de gösteriyorum
G2 Hücresindeki veriyi TextBox25 de gösteriyorum
Veri girip kayıt yaptığım zaman TextBoxlardaki veriler de güncellensin.
Tam anladıysam eğer kaydetme olayı için dediniz.
Exit Sub vardı Exit For yaptım 55.satırdaki alttaki kod için ve
'Unload Me
'UserForm1.Show
bunları pasip aptım tamamı altta kodların.
Private Sub CommandButton1_Click()
If TextBox5.Value & TextBox6.Value & TextBox67.Value & TextBox8.Value = "" Then
ActiveSheet.Unprotect "123"
If TextBox1 = "" Then
MsgBox "...!!!.LÜTFEN TARÝHÝ GÝRÝNÝZ.!!!...", vbInformation
Exit Sub: End If
If ComboBox3 = "" Then
MsgBox "...!!!.LÜTFEN AÇIKLAMA GÝRÝNÝZ.!!!...", vbInformation
Exit Sub: End If
On Error Resume Next
ActiveSheet.ShowAllData
If ActiveSheet.AutoFilterMode Then ActiveSheet.Range("A1").AutoFilter Field:=1
On Error Resume Next
Dim i As Integer, ts
For i = 7 To 32000
If (ActiveSheet.Cells(i, 1) = "") Then
ActiveSheet.Cells(i, 2) = CDate(TextBox1)
ActiveSheet.Cells(i, 3) = TextBox30
ActiveSheet.Cells(i, 4) = ComboBox3
ActiveSheet.Cells(i, 5) = TextBox2.Text * 1
ActiveSheet.Cells(i, 6) = TextBox4.Text * 1
ActiveSheet.Cells(i, 11) = TextBox3.Text * 1
ts = Range("B" & Rows.Count).End(xlUp).Row
Range("A7") = 1
Range("A7:A" & ts).DataSeries rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Trend:=False
MsgBox "KAYIT YAPILDI!...", vbOKOnly + vbInformation, "Bilgi Ekleme"
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & [A65536].End(3).Row
Range("A65535").End(xlUp).Offset(1, 0).Select
TextBox1.SetFocus
'Unload Me
'UserForm1.Show
TextBox1.Text = CDate(Date) 'Form Açýlýþta otomatik tarih
Me.ComboBox3 = ""
Me.TextBox2 = ""
Me.TextBox3 = ""
Me.TextBox4 = ""
Me.TextBox30 = ""
Me.TextBox5 = ""
Me.TextBox6 = ""
Me.TextBox7 = ""
Me.TextBox66 = ""
Me.TextBox67 = ""
Me.TextBox8 = ""
Me.TextBox9 = ""
Me.TextBox28 = ""
Me.TextBox78 = ""
Me.TextBox79 = ""
Exit For
End If
'UserForm Temizle baþý
' Me.ComboBox3 = ""
'Me.TextBox2 = ""
'Me.TextBox3 = ""
'Me.TextBox4 = ""
'Me.TextBox30 = ""
'End If
Next
'UserForm Temizle sonu
ActiveSheet.Protect "123"
'CommandButton2_Click
'TextBox1.Text = [P1]
'TextBox2.Text = [Q1]
'TextBox2.Text = [K4]
'TextBox3.Text = [L7]
'TextBox4.Text = [M1]
UserForm_Initialize
ListBox1.ListIndex = [A65536].End(3).Row - 1 'LÝSTBOX A SON BOÞ SATIR EKLER
ListBox1.ListIndex = ListBox1.ListCount - 1 'ListBoxýn son satýrýna gider.'
Range("A65535").End(xlUp).Offset(1, 0).Select 'Son boþ satýra gider
'TextBox31.Text = CDate(Date) 'Form Açýlýþta otomatik tarih
Exit Sub
'End If
'Next i
Else
MsgBox "...!!!.LÜTFEN PERSONEL ÖDEMELERÝ VEYA TEDARÝKÇÝLER ÝLE BÝLGÝLERÝ GÝRÝNÝZ, MESAÝ BÝLGÝLERÝNÝ GÝRMEYÝNÝZ.!!!...", vbInformation
End If
ThisWorkbook.Save
End Sub
Hocam size ne kadar teşekkür edersem azdır. Çok yardımcı oldunuz.
Hocam üç sayfayı değişmeye karşı koruma altına alabilirmiyiz.
UserForm Listede Kullanıcı adına çit tıklayarak ilgili sayfaya gidip veri girişi yapıyorum.
Benim istediğim ALİ, MEHMET, ZEYNEP sayfalarına gittiğim zaman veri kaydı, silme ve değiştirme işlemlerini yapmama izin vermesin. Uyarı versin. Bu üç sayfada hiç bir şekilde değişiklik yapmama izin vermesin. Uyarı versin.
Userform1 e alttaki kodu ekleyin.Ucase yazmasanızda olur büyük harfe çeviriyor Türkçe karakterlerde sorun olabilir.ALI burdaki büyük I yı kendiniz yazınız.
Function islemYapma() As Boolean
If UCase(ActiveSheet.Name) = "ALI" Or UCase(ActiveSheet.Name) = "AHMET" Or UCase(ActiveSheet.Name) = "ZEYNEP" Then
MsgBox "Bu sayfalarda silme,degistirme,ekleme gibi olaylar olamaz...", vbCritical, "Bilgi"
islemYapma = True
Else
islemYapma = False
End If
End Function
Alttaki kodlarıda kadetme silme degistirme gibi kodlara ekleinin resimdeki gibi olacak.
If islemYapma = True Then Exit Sub
Hocam kodu UserForm1 Kod sayfasına ekledim CommandButton1 e islemYapma yı ekledim ŞABLON, Sayfa1 ve liste sayfalarında değişiklik yapılmasın istemiyorum. Ama kod çalışmadı değişiklik yapıyor.
Hocam eklediğim dosyada ŞABLON, Sayfa1 ve liste sayfalarında değişikliğe izin vermesin size zahmet olacak yazdığınız kodu uyguliyabilirmisiniz.