Çözüldü Userform'da İşlem Yapma

Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Userform'da çalıştığım bir dosyada çok az şey eksik kaldı yardımlarınızı bekliyorum. ^_^

(TextBox1) e yazılan sayının her kaydedilişten sonra tekrar açıldığında en son kaydedilen sayıya 1 eklemesi gerekiyor. (TextBox1) de yazan sayıya göre diğer bütün işlemler görüşmeler sayfasında satırı değiştirecek. Örneğin (TextBox1) de 5 yazıyorsa diğer bütün yazılanlar Görüşmeler sayfasında 9. satıra yazılacak. ve kaydedildikten sonra tekrar userform açıldığında (TextBox1) de otomatik olarak 6 yazıyor olacak.

Örnek Dosyaya buraya tıklayarak ulaşabilirsiniz.
Şimdiden yardımlarınız için teşekkür ederim.
 
Son düzenleme:
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
"Private Sub Userform_Initialize()" başlığı altındaki kodları aşağıdaki gibi değiştirerek deneyin.
Kod:
Private Sub Userform_Initialize()
For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox2.AddItem Sayfa.Name
        End If
    Next
    ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox1.AddItem Sayfa.Name
        End If
    Next
    ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox3.AddItem Sayfa.Name
        End If
    Next
    ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row

 Set S1 = Sheets("GÖRÜŞMELER")
  n = S1.Cells(Rows.Count, 1).End(3).Row
 x = 4
Do
x = x + 1
If IsNumeric(S1.Cells(x, 1).Value) = True And WorksheetFunction.CountA(S1.Range("B" & x & ":J" & x)) = 0 Then
TextBox1 = S1.Cells(x, 1)
If IsNumeric(TextBox1.Value) = True Then Exit Do
End If
Loop While x <> n
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,872
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Ana Sayfa'da belirtmiş olduğunuz tüm sorunları giderdim.
Sıra No takibi için Görüşmeler adlı sayfanın A1 hücresini kullandım.
Görüşmeler adlı sayfanın A1 hücresine müdahale etmezseniz Sıra No düzgün çalışacaktır.

Dosyanız ekte.

https://www.dosyaupload.com/aaut
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Merhaba
"Private Sub Userform_Initialize()" başlığı altındaki kodları aşağıdaki gibi değiştirerek deneyin.
Kod:
Private Sub Userform_Initialize()
For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox2.AddItem Sayfa.Name
        End If
    Next
    ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox1.AddItem Sayfa.Name
        End If
    Next
    ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox3.AddItem Sayfa.Name
        End If
    Next
    ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row

Set S1 = Sheets("GÖRÜŞMELER")
  n = S1.Cells(Rows.Count, 1).End(3).Row
x = 4
Do
x = x + 1
If IsNumeric(S1.Cells(x, 1).Value) = True And WorksheetFunction.CountA(S1.Range("B" & x & ":J" & x)) = 0 Then
TextBox1 = S1.Cells(x, 1)
If IsNumeric(TextBox1.Value) = True Then Exit Do
End If
Loop While x <> n
End Sub
İlginiz için teşekkür ederim. Userform her kapandığında 1 artarak devam ediyor o problem hallolmuş. Ancak Benim istediğim biraz daha spesifik bir şey galiba. Şuan kodlar bi alttaki satır boşsa yaz şeklinde dizayn edilmiş durumda ancak ben şöyle olması için uğraşıyorum.
Örneğin
sayı kısmında 1 yazıyorsa bütün işlemler 5. satırda gerçekleşecek
sayı kısmında 2 yazıyorsa bütün işlemler 6. satırda gerçekleşecek
sayı kısmında 10 yazıyorsa bütün işlemler 14. satırda gerçekleşecek
Yani 15 e kadar +4 şeklinde gidecek.
Ancak 16 ya gelince 27. satırdan devam edecek.
Yani görüşmeler sayfası A4 hücresinde bulunan Sıra numarasına göre hareket edecek.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Merhaba.

Ana Sayfa'da belirtmiş olduğunuz tüm sorunları giderdim.
Sıra No takibi için Görüşmeler adlı sayfanın A1 hücresini kullandım.
Görüşmeler adlı sayfanın A1 hücresine müdahale etmezseniz Sıra No düzgün çalışacaktır.

Dosyanız ekte.

https://www.dosyaupload.com/aaut
Çok teşekkür ederim bir çok problem çözülmüş özellikle EĞER MÜMKÜNSE yazdığım yerin çözülebileceğini hiç düşünmüyordum. Çok mutlu oldum.
Ufak bir sorun var yazdır butonuyla alakalı yazdıra basınca kitlenme oluyor aceba benim excelle mi alakalı bilemedim.
Yazdır butonuyla alakalı istediğim yazdıra basınca önizleme sayfasının gelmesi ve userform un kapanması. Mümkün müdür aceba?
1 de userform kapanıp tekrar açıldığında 1 artarak açılabilir mi?
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,872
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki satırları sil
Kod:
    Worksheets(TextBox1.Text).PrintOut
Aynı satıra aşağıdaki satırları ekle.
Kod:
    Me.Hide
    Worksheets(TextBox1.Text).PrintPreview
    Unload Me
Ayrıca;
Sayı, Form kapanınca değil Kaydet düğmesine basınca artıyor. Doğrusu da bu değil mi?
Eğer kayıt yapılmadan kapatılmışsa artmıyor.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Aşağıdaki satırları sil
Kod:
    Worksheets(TextBox1.Text).PrintOut
Aynı satıra aşağıdaki satırları ekle.
Kod:
    Me.Hide
    Worksheets(TextBox1.Text).PrintPreview
    Unload Me
Ayrıca;
Sayı, Form kapanınca değil Kaydet düğmesine basınca artıyor. Doğrusu da bu değil mi?
Eğer kayıt yapılmadan kapatılmışsa artmıyor.
Yazdır problemi halloldu :)
Sayı artma olayı aynen dediğiniz gibi kaydete basınca artması lazım ama 1 i kaydedip tekrar açınca yine 1 çıkıyor
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Merhaba
"Private Sub Userform_Initialize()" başlığı altındaki kodları aşağıdaki gibi değiştirerek deneyin.
Kod:
Private Sub Userform_Initialize()
For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox2.AddItem Sayfa.Name
        End If
    Next
    ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox1.AddItem Sayfa.Name
        End If
    Next
    ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa1" Then
            ComboBox3.AddItem Sayfa.Name
        End If
    Next
    ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row

Set S1 = Sheets("GÖRÜŞMELER")
  n = S1.Cells(Rows.Count, 1).End(3).Row
x = 4
Do
x = x + 1
If IsNumeric(S1.Cells(x, 1).Value) = True And WorksheetFunction.CountA(S1.Range("B" & x & ":J" & x)) = 0 Then
TextBox1 = S1.Cells(x, 1)
If IsNumeric(TextBox1.Value) = True Then Exit Do
End If
Loop While x <> n
End Sub

Textbox1 deki kısmı her açılışta 1 artacak şekilde nasıl yaptınız aceba diğer hiçbir şeyi etkilemeden sadece bunu yapabilir miyiz?
Emeğiniz için teşekkür ederim.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Aşağıdaki satırları sil
Kod:
    Worksheets(TextBox1.Text).PrintOut
Aynı satıra aşağıdaki satırları ekle.
Kod:
    Me.Hide
    Worksheets(TextBox1.Text).PrintPreview
    Unload Me
Ayrıca;
Sayı, Form kapanınca değil Kaydet düğmesine basınca artıyor. Doğrusu da bu değil mi?
Eğer kayıt yapılmadan kapatılmışsa artmıyor.
Son bir problem daha var örneğin 1 i kaydettik kaydederken tarih kısmına 29.01.2019 yazdık diyelim
Tekrar 1 e basınca bütün veriler userform'a geliyor burası süper ancak tarih kısmına gelen tarih 01/29/2019 olarak geliyor. Yani ay gün yıl olarak geri çekiyor. Bunu düzeltme şansımız var mı? Çok aradım bulamadım. Emeğiniz için teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Son bir problem daha var örneğin 1 i kaydettik kaydederken tarih kısmına 29.01.2019 yazdık diyeli. Tekrar 1 e basınca bütün veriler userform'a geliyor burası süper ancak tarih kısmına gelen tarih 01/29/2019 olarak geliyor. Yani ay gün yıl olarak geri çekiyor. Bunu düzeltme şansımız var mı? Çok aradım bulamadım. Emeğiniz için teşekkür ederim.
Merhaba.
Userform'a ait kodlardan TextBox1_Change kod bloukunda ilgili satırı aşağıdakiyle değiştirerek deneyin.
TextBox3.Value = Format(sh.Cells(Satir, "B").Value, "dd.mm.yyyy")
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Merhaba.
Userform'a ait kodlardan TextBox1_Change kod bloukunda ilgili satırı aşağıdakiyle değiştirerek deneyin.
Teşekkür ederim problem çözüldü. ^_^
Şuan tek problem
Textbox1 deki kısmın her açılışta 1 artacak şekilde açılmasını sağlamak.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,872
Excel Vers. ve Dili
2019 Türkçe
Sayı tam olarak sizin istediğiniz gibi artıyor. Ben şimdi yeniden deneme yaptım sorun yok.
Sizin de artışı görmeniz için Kaydete bastıktan sonra ve form kapatılmadan önce artacak şekilde ayarladım.

A1 hücresine hiç müdahale etmemeniz gerekiyor.
A1 hücresindeki metin rengini zemin rengi ile aynı yapmıştım şimdi kırmızı yaptım sayının arttığını oradan da takip edebilirsiniz.
Yeni dosyanız ekte.

https://www.dosyaupload.com/emL8
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Sayı tam olarak sizin istediğiniz gibi artıyor. Ben şimdi yeniden deneme yaptım sorun yok.
Sizin de artışı görmeniz için Kaydete bastıktan sonra ve form kapatılmadan önce artacak şekilde ayarladım.

A1 hücresine hiç müdahale etmemeniz gerekiyor.
A1 hücresindeki metin rengini zemin rengi ile aynı yapmıştım şimdi kırmızı yaptım sayının arttığını oradan da takip edebilirsiniz.
Yeni dosyanız ekte.

https://www.dosyaupload.com/emL8
İlgin için teşekkür ederim hocam dosyayı denedim ama yine aynı.
Dosyada istediğim durumu tam anlatamadım sanırım.
Userform açıldığında Sayı kısmı 1 diyelim verileri girdim kaydettim.
Sonra tekrar userform'u açınca sayı kısmı 2 olmalı.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Sayı tam olarak sizin istediğiniz gibi artıyor. Ben şimdi yeniden deneme yaptım sorun yok.
Sizin de artışı görmeniz için Kaydete bastıktan sonra ve form kapatılmadan önce artacak şekilde ayarladım.

A1 hücresine hiç müdahale etmemeniz gerekiyor.
A1 hücresindeki metin rengini zemin rengi ile aynı yapmıştım şimdi kırmızı yaptım sayının arttığını oradan da takip edebilirsiniz.
Yeni dosyanız ekte.

https://www.dosyaupload.com/emL8

Private Sub Userform_Initialize()
For Each Sayfa In ThisWorkbook.Worksheets
If Sayfa.Name <> "Sayfa1" Then
ComboBox2.AddItem Sayfa.Name
End If
Next
ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
For Each Sayfa In ThisWorkbook.Worksheets
If Sayfa.Name <> "Sayfa1" Then
ComboBox1.AddItem Sayfa.Name
End If
Next
ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
For Each Sayfa In ThisWorkbook.Worksheets
If Sayfa.Name <> "Sayfa1" Then
ComboBox3.AddItem Sayfa.Name
End If
Next
ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row

Set S1 = Sheets("GÖRÜŞMELER")
n = S1.Cells(Rows.Count, 1).End(3).Row
x = 4
Do
x = x + 1
If IsNumeric(S1.Cells(x, 1).Value) = True And WorksheetFunction.CountA(S1.Range("B" & x & ":J" & x)) = 0 Then
TextBox1 = S1.Cells(x, 1)
If IsNumeric(TextBox1.Value) = True Then Exit Do
End If
Loop While x <> n
End Sub



bu kod sistemini ekleyince istediğim olmuştu ancak diğer bir çok problem eksik kalıyor bu kodu kullanıncada.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,872
Excel Vers. ve Dili
2019 Türkçe
Acaba ControlSource de mi bir sorun var.
UserForm un kod kısmını açıp
Userform_Initialize kodlarının tamammını silip aşağıdakileri kopyalayın.

Kod:
Private Sub Userform_Initialize()
    TextBox1.ControlSource = "'GÖRÜŞMELER'!A1"
    ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
    ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
    ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row
End Sub
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Acaba ControlSource de mi bir sorun var.
UserForm un kod kısmını açıp
Userform_Initialize kodlarının tamammını silip aşağıdakileri kopyalayın.

Kod:
Private Sub Userform_Initialize()
    TextBox1.ControlSource = "'GÖRÜŞMELER'!A1"
    ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
    ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
    ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row
End Sub
Kodu ekleyince düzelmemişti ancak
TextBox1.ControlSource = "'GÖRÜŞMELER'!A1" bu kısmı
TextBox1.ControlSource = "'ANASAYFA'!A1"
yapınca düzeldi.
Çok teşekkür ederim tekrardan elinize ve bilginize sağlık.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2020
Acaba ControlSource de mi bir sorun var.
UserForm un kod kısmını açıp
Userform_Initialize kodlarının tamammını silip aşağıdakileri kopyalayın.

Kod:
Private Sub Userform_Initialize()
    TextBox1.ControlSource = "'GÖRÜŞMELER'!A1"
    ComboBox1.RowSource = "DATA!J14:J" & Sheets("DATA").Cells(Rows.Count, "J").End(xlUp).Row
    ComboBox2.RowSource = "DATA!F2:F" & Sheets("DATA").Cells(Rows.Count, "F").End(xlUp).Row
    ComboBox3.RowSource = "DATA!E1:E" & Sheets("DATA").Cells(Rows.Count, "E").End(xlUp).Row
End Sub
Sayın hocam kaydet butonuna bastıktan sonra userfom un kapanmaması için kodda nasıl bir değişiklik yapmam gerekir aceba?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,872
Excel Vers. ve Dili
2019 Türkçe
"unload me" yazan satırı silerseniz form kapanmaz.
 
Üst