• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userform

Katılım
29 Kasım 2016
Mesajlar
2
Excel Vers. ve Dili
2007 makro-vba
Merhaba

Yaptığım çalışmada yapamadığım iki sorun var. Birincisi 2 tane userformum var.Userform 1 de 3 tane buton bu butonlardan herhangı bırıne tıkladığımızda userform2 ye yönlendiriyor.Userform 2 de departmanların birbirini değerlendirdii bir form var.Orada textbox kutucukları otomotik geliyor.Kişiler sadece optıonbuttonlarda puanlama yapıp submıte tıklıyor ve excele kaydediyor.Buraya olan kısmı yaptım.Submıte tıkladıktan sonra userform 1 de tıkladığımız butonun renginin yeşil olmasını istiyorum.Çünkü o butonun değerlendirmesi yapılmış olduğunu dolduran kişi anlaması açısındandır.Sonra diğer butona geçiyor ve aynı işlem onda da olması gerekiyor ve sonuncusunda da.

İkinci sorunum ise userform2 de textboxlar dolu geliyordu zaten bir de optıon buttonları da dolduruyor kişiler bunu kaydettikten sonra ben başka bir userformda butona tıkladıktan sonra bu dolu formun aynısını görmek istiyorum.Burdaki amaç departmanlar birbirine kaç puan verdiğini görmeleridir.
Yardımlarınızı bekliyorum.Teşekkür ederim.
 
Örnek dosya olsaydı daha rahat çözüm olurdu; çünkü verileri hangi sayfanın hangi hücrelerine attığınızı bu haliyle bilmek imkansız. O halde size mantığını anlatmaya çalışayım:

1- Diyelim ki 1. buton sayfa1'in A1 hücresine veri aktardı.
Aşağıdaki kodu butonun bulunduğu formun kod ölümüne olduğu gibi yapıştırırsanız A1'de veri varsa buton yeşile döner. Diğer butonlar için de veri aktaracakları hücreye göre aynı işlem yapılır. Örneğin buton 2 A2'ye, buton 3 A3'e veri atmış olsun.

Kod:
Private Sub UserForm_Initialize()

'Birinci buton
If Sheets("sayfa1").Range("A1") <> "" Then
CommandButton1.BackColor = &H8000&
End If

'İkinci buton
If Sheets("sayfa1").Range("A2") <> "" Then
CommandButton2.BackColor = &H8000&
End If

'Üçüncü buton
If Sheets("sayfa1").Range("A3") <> "" Then
CommandButton3.BackColor = &H8000&
End If
End Sub

Hatta yeşil olduktan sonra yanlışlıkla basılmasını önlemek ve kişiye uyarı vermek için butonların kod alanlarının en başına şu kodları yapıştırın.

Not: Verileri aktardığınız sayfaya ve hücrelere göre kodları düzenlemeniz gerekiyor.

Kod:
[COLOR="Red"]'1.buton
If Sheets("sayfa1").Range("A1") <> "" Then
Msgbox "Bu departmanın değerlendirilmesi yapıldı.",vbInformation, "     Bilgi"
Exit Sub
End If[/COLOR]

[COLOR="Red"]'2.buton
If Sheets("sayfa1").Range("A2") <> "" Then
Msgbox "Bu departmanın değerlendirilmesi yapıldı.",vbInformation, "     Bilgi"
Exit Sub
End If[/COLOR]

[COLOR="Red"]'1.buton
If Sheets("sayfa1").Range("A3") <> "" Then
Msgbox "Bu departmanın değerlendirilmesi yapıldı.",vbInformation, "     Bilgi"
Exit Sub

End If[/COLOR]

2- İkinci sorunuzu anlayamadım. Örnek dosya eklemenizde yarar var.
 
Son düzenleme:
Haklısınız.Örnek olmayınca tam olarak anlaşılmıyor.Buraya da örnek atamıyorum.Cevabınız için teşekkür ederim .Galiba yanlış ifade ettim sorumu.
1.sorumu tekrardan anlatayım.İki tane userform var.Birinci userforma 3 tane commandbutton var İkinci userformda bır tane userform var.Bırıncı userformun 3 butona da tıklayınca ıkıncı userforma aktarılıyor.Ilk bırıncı userformdan bır butona tıklıyoruz ve ıkıncı userforma geliyor .Ikıncı userformdakı butona tıklayınca birinci userformdakı butonun renginin yeşil olmasını istiyorum.Sonra birinci userformdaki diğer butonların da aynı şekilde işlem görmesini istiyorum.
 
Geri
Üst