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

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
Merhaba Arkadaşlar forumdan bir arkadaşımızın desteği ile hazırladığım aşağıdaki kodlarda P sütununa elle bir değer girildiğinde userform sayfası açılıyor ve sayfaya bilgiler girildiğinde tablo sayfasına işliyor.Sayfa yapısında değişikjlik yaptığımızdan şuan P sütununa elle değer girilmiyor onun yerine başka hücrelerin toplamından otomatik değer geliyor.Benim istediğim daha önce elle girildiğinde açılan userform penceresi şimdi p hücrelerine otomatik değer geldiğinde kendisi açılması bu şekildeki değişikliği nasıl yapabilirim?

Private Sub ComboBox1_Change()

End Sub

Private Sub ComboBox2_Change()
Dim tarih As Date
tarih = CDate(ComboBox2.Value)
ComboBox2.Value = Format(tarih, "dd/mm/yyyy")
End Sub

Private Sub ComboBox3_Change()

End Sub

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




End Sub

Private Sub UserForm_Click()

End Sub
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde deneyin.
Kod:
Private Sub Worksheet_Calculate()
        UserForm1.Show
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
Bu şekilde deneyin.
Kod:
Private Sub Worksheet_Calculate()
        UserForm1.Show
End Sub
merhaba bu yazdığınız kodu yukarıda ki bölümdemi değiştirmem gerekiyor yoksa birsa başka sayfada buna bağlı çalışan aşağıdaki kodlar var burdamı değiştirmem gerekiyor ben aşağıdakiler de denedim hata verdi sürekli

Private Sub Worksheet_Change(ByVal Target As Range)
Dim VColumn As Range
Set VColumn = Range("P:p")
If Not Intersect(Target, VColumn) Is Nothing Then
UserForm1.Show
End If
End Sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Change olayını kapatın. Bu ayrı bir kod. Yalnız aynı sayfa içinde olacak.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod belki lazım olur diye silin demedim. Sadece satırbaşlarına tırnak koyarak kullanım dışı bırakın.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim VColumn As Range
Set VColumn = Range("P:p")
If Not Intersect(Target, VColumn) Is Nothing Then
UserForm1.Show
End If
End Sub
Üsteki kodu komple silin aynı yere aşağıdakini yapıştırın.

Kod:
Private Sub Worksheet_Calculate()
        UserForm1.Show
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
denedim ama p sütunu dışında hangi hücreye değer girsem userform açılıyor
 

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
sizin yazdığınız kodu yazdığım dosyayı ekledim
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde dener misiniz ?
Kod:
Private Sub Worksheet_Calculate()
    Dim Target As Range
    Set Target = Range("p:p")
    If Target.Column <> ActiveCell.Column Then Exit Sub
    UserForm1.Show
End Sub
yor
 

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
denedim ama yine çalışmıyor sizin verdiğiniz kodları eklediğim sayfa ektedir.
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Bana kalırsa yeşil dolgu ile belirttiğiniz alanlarda bir değişiklik olunca userform açılmalı. P sütunundaki formül bu sütunlardaki değişimlere göre hareket ediyor. Eğer böyle ise kod değişecektir.
 

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
Yeşil alanlarda canc seçildiğinde P hücresi kaç adet canc seçildiysw onu topluyor bizim amacımızdq p hücresine canc adedi geldikçr user form açılsın ve kullanıcı açıklamasını girsin ancak 0 (sıfır)olduğunda da user form açılmamalı
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde deneyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [g:g, i:i, k:k, m:m, o:o]) Is Nothing Then Exit Sub
    UserForm1.Show
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 ancak demek istediğim bu şekilde değil şu şekilde yapabilirmiyiz peki diğer türlü zor olacak sanırım.Yeşil olan hücrelerde canc seçildiği zaman userform açılmasını sağlayabilirmiyiz?Eğer sağlayabilirsek bu şekilde de benim işimi görecek.
 
Son düzenleme:

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde deneyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [g:g, i:i, k:k, m:m, o:o]) Is Nothing Then Exit Sub
    If Target.Text = "CANC" Then UserForm1.Show
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
Bu şekilde deneyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [g:g, i:i, k:k, m:m, o:o]) Is Nothing Then Exit Sub
    If Target.Text = "CANC" Then UserForm1.Show
End Sub
çok teşekkür ederim bu şekilde daha iyi oldu son bir sorum olacak S sütununada aynı olayı yapmak istiyorum ama resimdeki gibi aynı yere yapıştırdığımda böyle hata alıyorum neden olabilir? S sütununada değer girildiğinde userform2 yi açıp içindeki bilgileri özel araç dosyası sekmesine yazacak aynı user1formdaki mantığın aynısı

247814
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,681
Excel Vers. ve Dili
Excel 2019 Türkçe
Üstteki koda ilave yapmalısınız.
If Intersect(Target, [g:g, i:i, k:k, m:m, o: o, s:s]) Is Nothing Then Exit 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
Üstteki koda ilave yapmalısınız.
If Intersect(Target, [g:g, i:i, k:k, m:m, o: o, s:s]) Is Nothing Then Exit Sub
ancak ilave yaparsam yine s hücresinde userform1 i açmazmı ben yeni oluşturduğum userform2 yi açmasını istiyorum s hücresine bir sayı girdiğimde
 
Üst