"a1" hücresinde "4" rakamı var ise "UserForm1" aktif olsun

Katılım
25 Eylül 2023
Mesajlar
11
Excel Vers. ve Dili
Office 2016
Merhaba aranızda yeniyim ve macro konusunda çok acemiyim.

Eğer sayfa2'de "a1" hücresinde "4" rakamı var ise; sayfa1 de "UserForm1" aktif olsun, değilse UserForm1 kapansın.

Böyle bir kod verebilir misiniz?

Anlayışınız ve yardımlarınız için çok teşekkür ederim.
 
Son düzenleme:

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Deneyiniz.

C++:
Rem Sayfa1 kod bölümüne yazılacak

Private Sub Worksheet_Activate()
If Sheets("Sayfa2").Range("A1") = 4 Then
UserForm1.Show 0
Else: UserForm1.Hide
End If
End Sub
 
Katılım
25 Eylül 2023
Mesajlar
11
Excel Vers. ve Dili
Office 2016
uzmanamele merhaba,

kod; yalnızca sayfa2'den, sayfa1'e geçiş yapınca userform u aktif ediyor.
sayfa1 üzerinde çalışırken userform aktif olmuyor.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
uzmanamele merhaba,

kod; yalnızca sayfa2'den, sayfa1'e geçiş yapınca userform u aktif ediyor.
sayfa1 üzerinde çalışırken userform aktif olmuyor.
Merhaba
Sayfalar arasında geçiş yaptığınızda Sayfa1 aktif olunca kod tetiklenir.
Siz nasıl çalıştırmak istiyorsanız öyle kodlayın.
Ne bileyim buton falan koyun.
Ondan sonrası sizin tercihinize kalmış.
 
Katılım
25 Eylül 2023
Mesajlar
11
Excel Vers. ve Dili
Office 2016
Merhaba
Sayfalar arasında geçiş yaptığınızda Sayfa1 aktif olunca kod tetiklenir.
Siz nasıl çalıştırmak istiyorsanız öyle kodlayın.
Ne bileyim buton falan koyun.
Ondan sonrası sizin tercihinize kalmış.
Yardımlarınız için çok teşekkür ederim.
Bu kodun, butonu tıklayınca ya da "sayfa1" aktif olunca değil, "a1" hücresine sadece "4" rakamı yazılınca tetiklenmesini istemiştim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfa2'nin kod bölümüne uygulayınız.

İlgili hücreye elle 4 yazıp enter dediğinizde kod çalışacaktır.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    If Target = 4 Then
        UserForm1.Show False
    Else
        Unload UserForm1
    End If
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba aranızda yeniyim ve macro konusunda çok acemiyim.

Eğer sayfa2'de "a1" hücresinde "4" rakamı var ise; sayfa1 de "UserForm1" aktif olsun, değilse UserForm1 kapansın.

Böyle bir kod verebilir misiniz?

Anlayışınız ve yardımlarınız için çok teşekkür ederim.
Merhaba
Sayfa2 A1 hücredeki rakam 4 olduğunda UserForm1'in Sayfa1'de aktif olmasını istemişdiniz.
Buradan şu sonucu çıkarıyorum.
Siz Sayfa2'de veya başka sayfalarda işlem yapacaksınız, Sayfa1'e geldiğinizde Sayfa2'nin A1 hücresindeki değerin 4 olmasına göre Form üzerinde işlem yapacaksınız.

Bu da en basitinden Sayfa1'in aktif olması durumuna göre kullanmak gerekir.

Tercih sizin, Korhan Bey istediğiniz kodu vermiş.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
@uzmanamele,

Aslında sizin yazdığınız kod ilk mesaja göre daha uygun görünüyor. Çünkü ben mesajı okuduğumda sayfaların farklı olduğu dikkatimden kaçmış. Aynı sayfada istenen bir işlem gibi algıladım.

Sayfa2'de A1 hücresine 4 yazdıktan sonra Userform'un Sayfa1'de açılması istenmiş. Sayfa1 aktif olmadan Userform açılırsa Sayfa2'de açılmış olur. Bu da talep edilen duruma ters olur.

Eğer sayfa2'de "a1" hücresinde "4" rakamı var ise; sayfa1 de "UserForm1" aktif olsun, değilse UserForm1 kapansın.
Bu kodun, butonu tıklayınca ya da "sayfa1" aktif olunca değil, "a1" hücresine sadece "4" rakamı yazılınca tetiklenmesini istemiştim.
 
Katılım
25 Eylül 2023
Mesajlar
11
Excel Vers. ve Dili
Office 2016
İlginiz için teşekkür ederim.

Sayfa1 de çalışıyorum ve sayfa2'yi veri tabanı olarak kullanıyorum, karışıklık için üzgünüm.

İstediğim işlemi şöyle anlatayım;








2.resimdeki gibi UserForm1 i nasıl aktif edebilirim?
Birleşik Girdi Kutusu verileri sayfa2 de.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Kırmızı renkli yerleri kendi dosyanıza göre değiştiriniz.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If Target = "Yolluk" Then
UserForm1.Show False
Else
Unload UserForm1
End If
End Sub
 
Katılım
25 Eylül 2023
Mesajlar
11
Excel Vers. ve Dili
Office 2016
Birleşik Girdi Kutusunu kaldırıp yerine veri doğrulamadan liste yaptım. Kısmen de olsa sorunu çözdüm.

Kod için teşekkür ederim çok işime yaradı.
 
Üst