Option Button ile kayıt sayfası belirleme

Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
Merhaba arkadaşlar.. Sorunum şu hazırladığım userformda

-ad
-soyad
-tarih
şeklinde comboboxlar var. altta ise

-veri al butonu var. ve son olarak

-kaydet butonu var

veri alma kısmındaki çekboxları bağladım ve sayfaları userform isimlerine göre

İLK
ORTA
SON isimli sayfalara kaydettiriyiorum ancak ilk sayfadaki ad soyad tarih kısmını option seçenekleriyle hangiş sayfaya kayıt ediceğini tanımlayamadım.. yardımcı olursanız sevinirm
 

Ekli dosyalar

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Merhaba,

Kod:
Private Sub CommandButton2_Click()
dim son,i as long
If OptionButton1 = False And OptionButton2 = False And OptionButton3 = False Then Exit Sub
son = Range("A65536").End(xlUp).Row + 1
For i = 1 To 3
Cells(son, i).Value = Controls("combobox" & i).Text
Next
End Sub
Private Sub OptionButton1_Click()
If OptionButton1 = True Then Sheets("İLK").Select
End Sub
Private Sub OptionButton2_Click()
If OptionButton2 = True Then Sheets("ORTA").Select
End Sub
Private Sub OptionButton3_Click()
If OptionButton3 = True Then Sheets("SON").Select
End Sub
olarak kullanabilirsiniz.
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
İkinci altarnatif ise;

Kod:
Private Sub CommandButton2_Click()
Dim i As Integer
Dim son As Long
Dim syf As Worksheet
If OptionButton1 = False And OptionButton2 = False And OptionButton3 = False Then Exit Sub
If OptionButton1 = True Then Set syf = Sheets("İLK")
If OptionButton2 = True Then Set syf = Sheets("ORTA")
If OptionButton3 = True Then Set syf = Sheets("SON")
son = syf.Range("A65536").End(xlUp).Row + 1
For i = 1 To 3
syf.Cells(son, i).Value = Controls("combobox" & i).Text
Next
End Sub
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
çok çok teşekkür ederim.. peki mesela İLK sayfasından veri almışsa ve option butonlarından ORTA yı tıklamışsa bunu kaydetmesini nasıl engelleris?

Olaki karışıklık oldu yanlış option u tıkladı bunu engelleyebilirmiyiz?
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
bu arada benim kendi çalışmamda 7 tane vardı çoğalttım ama olmadı :s
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
İkinci altarnatif ise;

Kod:
Private Sub CommandButton2_Click()
Dim i As Integer
Dim son As Long
Dim syf As Worksheet
If OptionButton1 = False And OptionButton2 = False And OptionButton3 = False Then Exit Sub
If OptionButton1 = True Then Set syf = Sheets("İLK")
If OptionButton2 = True Then Set syf = Sheets("ORTA")
If OptionButton3 = True Then Set syf = Sheets("SON")
son = syf.Range("A65536").End(xlUp).Row + 1
For i = 1 To 3
syf.Cells(son, i).Value = Controls("combobox" & i).Text
Next
End Sub

Çalışıyor ancak ad soyad ve tarih deki verileri almıyor kayda
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Şimdi çalışmanızı inceliyorum sayfadan optionbuttonlara göre veri almak istiyorsunuz.bunu anladım ancak veri al butonuyla userform4'e yönlendiriyorsunuz bunu anlayamadım.şunu şöyle yapsak son,ilk,orta sayfalarında veriler var sanırsam.bunları listbox ile listelesek listeden seçtiğimize müdahele edip değiştirsek hepsini 1 formla halletsek.bu arada yanlış mantık yürütüyor olabilirim.En iyisi siz açıklamlı bir örnek ekleyin (tam olarak yapmak istediğiniz) onun üzerine çalışalım.
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
evet ben en iyisi asıl çalışmamı göndereyim onun üzerinden konuşalım daha iyi anlayacaksınız.. yalnız şimdi işten çıkıcam ewe gider gitmez bu sayfadan göndericem bu gece bu sorunu halletmem lazım :( umarım burda olursunuz görüşmek üzere
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
Çalışmam

Çalışmamı ekte yolladım.. Biras karmaşık bi yapısı var ama gerekli olan bilgileri söleyim..

Öncelikle "Ana" sayfasındaki 6 adet butondan Genel Kimya2 olanı benim çalışmam. Açılış şifresi sistem saati örneğin 20:40 gibi

Girişten sonra karşımıza gelen ad soyad , vadiya, tarih, saat (tarih ve saati otomatik kaydettirmeyi yapmak istiyorum onuda yapamadım) gibi comboboxlar var buradaki verileri kaydet butonu ile "700" sayfasına kayıt alıyorum.

Bu verileri girdikten sonra "Numune Saatleri" butonuna basıyoruz ve oradaki 07:00, 11:00, 15:00 vs. kısımlarından checkboxlar ile kayıt alıyorum. Her bölüm kendi sayfasına "700,1100,1500,1900,2300,300,RUTİN OLMAYAN" sayfarlıan kayıt alıyor. buralarda hiç bir problemim yok

Tek sorun ad soyad, vardiya vs.. kısmındaki verileri sadece "700" sayfasına kaydetmesi. Bunu aşmak içinde optionbutton kullanmak istiyorum. Yani 07:00 optionuna basınca ad,soyad,vardiya vs. verilerini "700" sayfasına, 11:00 optionuna basınca "1100" sayfasına kaydetsin (ilgili yerlerine) istiyorum.

Umarım bi çözüm üretebiliriz :(
 

Ekli dosyalar

Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
bir örnek hazırladım böyle birşey olabilirmi?
Hocam eline sağlık güzel olmuş ama benim istediğim tam olarak bu deildi. Yukarıda örnek çalışmamı ve açıklamasını yolladım boş vaktiniz varsa ve ilgilenirseniz sevinirm.. =)
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
Yokmu yardımcı olacak birisi yaaa sizin çok zor olmayan birşey istedimmmmm :(
 

Korhan Ayhan

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

Kayıt işlemi için kullandığınız kodu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim Kayıt_Sayfası As Worksheet, Nesne As Object, Bos_Satir As Long
 
    If ComboBox7.Value = "" Then
    MsgBox ("Lütfen Ad Soyad Bilgisini Giriniz!")
    Exit Sub
    Else
    End If
 
    If ComboBox1.Value = "" Then
    MsgBox ("Lütfen Vardiyanızı Seçin!")
    Exit Sub
    Else
    End If
 
    If ComboBox3.Value = "" Then
    MsgBox ("Lütfen Tarih Giriniz!")
    Exit Sub
    Else
    End If
 
    If OptionButton3 = False And OptionButton4 = False And OptionButton5 = False And OptionButton6 = False And OptionButton7 = False And OptionButton8 = False Then
    MsgBox "Kayıt işlemi için sayfa seçimi yapmanız gerekiyor. Lütfen sayfa seçiniz !", vbCritical, "Dikkat !"
    Exit Sub
    End If
 
    If OptionButton3 = True Then
    Set Kayıt_Sayfası = Sheets("700")
    ElseIf OptionButton4 = True Then
    Set Kayıt_Sayfası = Sheets("1100")
    ElseIf OptionButton5 = True Then
    Set Kayıt_Sayfası = Sheets("1500")
    ElseIf OptionButton6 = True Then
    Set Kayıt_Sayfası = Sheets("1900")
    ElseIf OptionButton7 = True Then
    Set Kayıt_Sayfası = Sheets("2300")
    ElseIf OptionButton8 = True Then
    Set Kayıt_Sayfası = Sheets("300")
    End If
 
        With Kayıt_Sayfası
 
         Bos_Satir = .Range("A65536").End(xlUp).Row + 1
        .Range("A" & Bos_Satir).Value = Application.WorksheetFunction.Max(.Range("A:A")) + 1
        .Range("A" & Bos_Satir).Value = ComboBox7
        .Range("B" & Bos_Satir).Value = ComboBox1
        .Range("C" & Bos_Satir).Value = CDate(ComboBox3)
        .Range("D" & Bos_Satir).Value = TimeSerial(ComboBox5, ComboBox6, 0)
 
        End With
 
    For Each Nesne In Me.Controls
        If TypeName(Nesne) = "TextBox" Or TypeName(Nesne) = "ComboBox" Then
            Nesne.Value = Empty
        End If
    Next
 
    Set Kayıt_Sayfası = Nothing
 
    MsgBox "Kayıt işlemi tamamlanmıştır.", vbInformation
End Sub
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
Anlamadığım bi nedenden dolayı hata veriyor ve kapatıyor..hata kodu 424
 
Katılım
15 Ağustos 2009
Mesajlar
127
Excel Vers. ve Dili
Office 2010 Tr
Altın Üyelik Bitiş Tarihi
19.01.2020
Hocam dün aceleyle yazmayı unuttum.. ellerine sağlık çok güzel oldu hatta harika ve tam istediğim gibi birşey oldu :D
 
Üst