Hücreye değer geldiğinde direk açılan userform

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,685
Excel Vers. ve Dili
Excel 2019 Türkçe
O zaman kod değişir.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [g:g, i:i, k:k, m:m, o:o]) Is Nothing Then
    If Target.Text = "CANC" Then UserForm1.Show
    End if
    If Not Intersect(Target, [s:s]) Is Nothing Then
    If Target.Text = "CANC" Then UserForm2.Show
    End if
End Sub
 

adventurous26

Altın Üye
Katılım
20 Haziran 2013
Mesajlar
291
Excel Vers. ve Dili
EXCELL 365
Altın Üyelik Bitiş Tarihi
02-11-2028
O zaman kod değişir.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [g:g, i:i, k:k, m:m, o:o]) Is Nothing Then
    If Target.Text = "CANC" Then UserForm1.Show
    End if
    If Not Intersect(Target, [s:s]) Is Nothing Then
    If Target.Text = "CANC" Then UserForm2.Show
    End if
End Sub
teşekkür ederim ancak ikinci userformda canc değilde P sütununa herhangi bir sayı değeri girildiğinde userform2 açılması gerekiyor.Ben bir şekilde userform2 nin açılmasını sağladım ama bilgi girişi yapıp kaydet dediğimde bilgileri özel araç dosyasındaki tabloya yazdıramadı.Dosyayı ekledim ordan kontrol edebilirmisiniz
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,685
Excel Vers. ve Dili
Excel 2019 Türkçe
Önceki mesajınızda s sütunu yazmıştınız, burada p sütunundan bahsediyorsunuz... Ayrıca s sütununda formül mevcut. Konuyu netleştirebilir miyiz ?
 

adventurous26

Altın Üye
Katılım
20 Haziran 2013
Mesajlar
291
Excel Vers. ve Dili
EXCELL 365
Altın Üyelik Bitiş Tarihi
02-11-2028
Bu size attığım örnek dosya s veya p olması sorun değil ben onu ayarlarım siz örnek attığım dosya üzerinden bakabilirsiniz dediğim gibi p sütununa sayı girfiğimdwçe userform2 açılıyor ama içindeki bilgiyi özel araç sekmesindeki sayfaya kaydettiremiyorum orada takıldım
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,685
Excel Vers. ve Dili
Excel 2019 Türkçe
Konu başka bir tarafa evrildi.
Userform2 deki Userform1 yazan kısımları değiştirin. ayrıca ComboBox2(Tarih alanı) içini doldurmalısınız.

Kod:
Private Sub CommandButton1_Click()
    Dim syf As Worksheet
    Dim sonSatir As Long
    
    Set syf = ThisWorkbook.Worksheets("cancelled")

    sonSatir = syf.Cells(syf.Rows.Count, 2).End(xlUp).Row
    

    syf.Range("B" & sonSatir + 1).Value = UserForm1.TextBox1.Value
    syf.Range("C" & sonSatir + 1).Value = UserForm1.ComboBox1.Value
    syf.Range("D" & sonSatir + 1).Value = UserForm1.ComboBox2.Value
    syf.Range("E" & sonSatir + 1).Value = UserForm1.ComboBox3.Value
    syf.Range("F" & sonSatir + 1).Value = UserForm1.TextBox2.Value
    MsgBox "Kaydedildi.", vbQuestion, "Bilgi"
UserForm1.Hide
    
    ActiveCell.Offset(-1, 0).Interior.Color = RGB(255, 255, 0)

    
End Sub
 

adventurous26

Altın Üye
Katılım
20 Haziran 2013
Mesajlar
291
Excel Vers. ve Dili
EXCELL 365
Altın Üyelik Bitiş Tarihi
02-11-2028
Teşekkür ederim sizin desteğinizle çözdüm ancak son bir noktayı düzeltemiyorum tarihi comboboxtan seçdiğimde tarih yerine kutuya sayı yazıyor resimde görüldüğü gibi.Yaptığım haliyle dosyayıda ekliyorum.

247911
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,685
Excel Vers. ve Dili
Excel 2019 Türkçe
Tarih alanı için ComboBox2 nesnesini kullanmalısınız.
Kod:
Private Sub ComboBox2_Change()
    Dim tarih As Date
    tarih = CDate(ComboBox2.Value)
    ComboBox2.Value = Format(tarih, "dd/mm/yyyy")
End Sub
 

adventurous26

Altın Üye
Katılım
20 Haziran 2013
Mesajlar
291
Excel Vers. ve Dili
EXCELL 365
Altın Üyelik Bitiş Tarihi
02-11-2028
Tarih alanı için ComboBox2 nesnesini kullanmalısınız.
Kod:
Private Sub ComboBox2_Change()
    Dim tarih As Date
    tarih = CDate(ComboBox2.Value)
    ComboBox2.Value = Format(tarih, "dd/mm/yyyy")
End Sub
Teşekkür ederim
 
Üst