Skip to main content

AccessTr.neT


Çarpıdan Formu Kapatmak

Çarpıdan Formu Kapatmak

#7
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.
Cevapla
#8
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.
Cevapla
#9
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
Cevapla
#10
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.
Cevapla
#11
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

[Resim: do.php?img=10154]
Cevapla
#12
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.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task