form haline getirme

gmm

Katılım
7 Ekim 2005
Mesajlar
99
arkadaşlar ekte gönderdiğim dosyayı yurttaş arkadaşımın forumda sunmuş olduğu örneklerden yola çıkarak hazırladım. benim yapmak istediğim bunu userform şekline nasıl sokabiliriz. yani dosya ve çalışma grubunda çalışanları vardiya ve tarih atarak tek ekranda nasıl gösterebiliriz. kaç seferde yazıyorum çözüm bulamadım yol gösterirseniz sevinirim.
 

Ekli dosyalar

gmm

Katılım
7 Ekim 2005
Mesajlar
99
peki bunu düzenli liste haline getiremezmiyiz. yani izolasyon dediğimizde checkboxlar halinde liste açılsa oradan işaretlediklerimiz ekrana gitse arkasından diğer gruplar içinde aynı şeyi yapıp ekrana yollayabilirmiyiz
 
Katılım
29 Ağustos 2004
Mesajlar
132
Excel Vers. ve Dili
2003 Türkçe iş
2007 Türkçe ev
Ekteki dosyadan yola çıkarak kendinize uyarlayabilirsiniz sanırım. Sitemizden indirdiğim bir dosyadır.
 

Ekli dosyalar

Excelmy

Destek Ekibi
Destek Ekibi
Katılım
10 Nisan 2008
Mesajlar
650
Excel Vers. ve Dili
2010 - TÜRKÇE
Sayın gmm

Aşağıda görülen ;

http://www.excel.web.tr/showthread.php?t=87263
http://www.excel.web.tr/showthread.php?t=87259
http://www.excel.web.tr/showthread.php?t=87004
http://www.excel.web.tr/showthread.php?t=79672

konuların tamamı, anlaşıldığı kadarı ile hazırlamaya çalıştığınız tek bir çalışma dosyasına ait.

Ancak izlediğim kadarı ile henüz herhangi bir ilerleme olmamış.

Çalışma dosyanızın tamamlanabilmesi ve takibi açısından, önce tüm yapmak istedikleriniz ile ilgili bir örnek dosya hazırlayıp açıklamalarınıda eklerseniz, bu konu ve örnek dosya üzerinden istediğiniz yardımı alabilir böylece sonuca daha çabuk ulaşabilirsiniz.

Saygılarımla.
 

gmm

Katılım
7 Ekim 2005
Mesajlar
99
arkadaşlar userformla anlatmaya çalıştım lütfen yol gösterirseniz sevinirim. saygılar
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayfayı ben veri tabanı şeklinde biçimlendirdim.
Bu şekli ile kullanırsanız istediğiniz her zaman oaradan istediğiniz veriyi seçebilirsiniz.
Dosyanız ektedir..:cool:
Kod:
Private Sub CommandButton1_Click()
Dim sat As Long, ckbx As Control, i As Long, var As Boolean
Dim vardiye As String, calismagrb As String, nesne2 As Control
Sheets("Sayfa1").Select
For i = 1 To 3
    If Controls("CheckBox" & i).Value = True Then var = True: Exit For
Next
If var = False Then
    MsgBox "Vardiye seçilmemiş." & vbLf & "Kayıt iptal oldu", vbCritical, "UYARI"
    Exit Sub
End If
var = False
For i = 1 To 6
    If Controls("OptionButton" & i).Value = True Then var = True: Exit For
Next
If var = False Then
    MsgBox "Çalışma Gurubu seçilmemiş." & vbLf & "Kayıt iptal oldu", vbCritical, "UYARI"
    Exit Sub
End If
var = False
For Each nesne In Me.Frame2.Controls
    If TypeName(nesne) = "CheckBox" Then
        If nesne.Value = True Then var = True: Exit For
    End If
Next
If var = False Then
    MsgBox "Çalışan seçilmemiş." & vbLf & "Kayıt iptal oldu", vbCritical, "UYARI"
    Exit Sub
End If
sat = Cells(65536, "A").End(xlUp).Row + 1
If sat >= 65533 Then
    MsgBox "Sayfada Satır doldu." & vbLf & _
    "Artık kayıt Giremezsiniz." & vbLf & "evrengizlen@hotmail.com", vbCritical, "UYARI"
    Exit Sub
End If
For Each nesne In Me.VARDİYA.Controls
    If TypeName(nesne) = "CheckBox" Then
        If nesne.Value = True Then
            vardiye = nesne.Caption
            For i = 1 To 6
                If Controls("OptionButton" & i).Value = True Then
                    calismagrb = Controls("OptionButton" & i).Caption
                    For Each nesne2 In Me.Frame2.Controls
                        If TypeName(nesne2) = "CheckBox" Then
                            If nesne2.Value = True Then
                                Cells(sat, "A").Value = Date
                                Cells(sat, "A").NumberFormat = "dd.mm.yyyy"
                                Cells(sat, "B").Value = CStr(vardiye)
                                Cells(sat, "C").Value = calismagrb
                                Cells(sat, "D").Value = nesne2.Caption
                                Cells(sat, "E").Value = TextBox1.Text
                                sat = sat + 1
                                If sat > 65533 Then
                                    MsgBox "Sayfada satır doldu" & vbfl & "Verilerin tamamı kaydedilmedi" & vbLf & _
                                    "evrengizlen@hotmial.com", vbCritical, "UAYARI"
                                    Exit Sub
                                End If
                            End If
                         End If
                    Next
                End If
            Next
        End If
    End If
Next
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub CommandButton3_Click()
Dim nesne As Control
For Each nesne In Me.Controls
    If TypeName(nesne) = "CheckBox" Or TypeName(nesne) = "OptionButton" Then
        nesne.Value = False
    End If
Next
TextBox1.Text = ""
End Sub
 

Ekli dosyalar

gmm

Katılım
7 Ekim 2005
Mesajlar
99
emeğinize sağlık çok teşekkür ederim fakat bir noktayıda sormak istiyorum çalışma grubun seçtiğimizde isimler ayrı ayrı gelebilir mi? bunu şundan dolayı istiyorum her çalışma grubunda ortalama 30 kişi var onların hepsini tek formda yazarsak hem yer hemde görüntü için sıkıntı oluyor bununla ilgilide bir fikir verebilirmisiniz??
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
emeğinize sağlık çok teşekkür ederim fakat bir noktayıda sormak istiyorum çalışma grubun seçtiğimizde isimler ayrı ayrı gelebilir mi? bunu şundan dolayı istiyorum her çalışma grubunda ortalama 30 kişi var onların hepsini tek formda yazarsak hem yer hemde görüntü için sıkıntı oluyor bununla ilgilide bir fikir verebilirmisiniz??
Şimdi tabii bunları baştan tasarlamak lazım.
Bu vba olayı excel sayfasına benzemez.
Excel sayfasında ne yapıyoruz.İstediğimiz zaman hemen bir sütunu siliyoruz ,istediğimiz zaman ekleme falan yapıyoruz.
Ama vba da olaylar ,hatta tüm programlama dillerinde durum böyle değil.
VBA'da bir programlama dilidir.Artık iş excelin ötesindedir.Excel gibi düşünmemek lazım.Olayı bir kere düşünüp 1 kerede yazılımınızı bitrimek lazım.Çok nadiren belki dğeişiklik olabilir.Kod yazmak bir programlama dilinde o işin en küçük parçasını kapsar.En önemli bölümü o işi tasarlamaktır.İyi tasarlamazsanız hatalar çıkar ,kullanım zorlukları çıkar,kodlara tekrar müdahale etmek zorunda kalırsınız büyük çoğunlukla.Oysa kodlara müdahale etmek kodları sıfırdan yazmaktan daha zordur.Müdahalae esnasında başka bir staırla olan ilişki bozulabilir.Mantık hataları oluşabilir.Program göçmez çalışır ama hatalı sonuçlar üretir.Kolay kolayda farkedilmez.Farkedildiği andada iş işten geçmiştir çoğu zaman.Onun için kodlara müdahale etmek ,çok mecbur değilsek yapmamılıyız.Projemizi iyi tasarlamılıtyız.Geniş ve esnek düşünmeliyizi.
Bu programı biz değilde bir başkası hatta exceli vba'yı bilmeyen birdsinin kulanacağını ,hatta dahada ileri gidelim haytında bilgisyarın başına ilk defa otırmuş birisinin kullanacağını düşünmeliyiz.
Şimdi durum raporu:
Option butonları kaldırdım.Onun yerine combobox koydum.Çalışma gurubunu oradan seçeceksiniz.Ama bana öyle geliyor ki siz bu programda başka değişikliklerde isteyeceksişniz.Belki şimdi değil ama ileri, doğru.Bu çalışan isimleri değişebilir.Ve artabilir.veya azalabilir.Bence çok kötü bir tasrım bunu yerine bir listview veya listbox konulurdu şahıslar excelde bir ssydafa bir sütuna yazılırdı.İsimler oradan alınırdı.Bu çok esneklil kazandırıdı projeyue.Ama dedim ya bir kere düşünüp bir kere yapmak lazım.Artık program bitti.O deiğime dönüş belki olur ama ben yapmam.
Dıosya ektedir.Kolay gelsin.:cool:
 

Ekli dosyalar

gmm

Katılım
7 Ekim 2005
Mesajlar
99
teşekkürler bilgin ve uğraşların için dostum. fakat başta ben yazmıştım ama tam anlatamamışım demek ki kusura bakma bana bu konuda yardımcı olursanız sevinirim. amacım bu örneklerle bişeyler elde etmek araştırıyorum ama net bişeyler bulamıyorum tasarladığım ve ihtiyacım olan örneklerle pekiştirme yapmak daha sağlıklı oluyor.
sizden ricam bu konuda ban yardımcı olursanız sevinirim. daha da mevcut programlar yapmam gerekiyor. bu bana örnek olabilir. yardımlarınızı bekliyorum. mail adresim doxiumy@hotmail.com buradanda görüşebiliriz.
 

Excelmy

Destek Ekibi
Destek Ekibi
Katılım
10 Nisan 2008
Mesajlar
650
Excel Vers. ve Dili
2010 - TÜRKÇE
emeğinize sağlık çok teşekkür ederim fakat bir noktayıda sormak istiyorum çalışma grubun seçtiğimizde isimler ayrı ayrı gelebilir mi? bunu şundan dolayı istiyorum her çalışma grubunda ortalama 30 kişi var onların hepsini tek formda yazarsak hem yer hemde görüntü için sıkıntı oluyor bununla ilgilide bir fikir verebilirmisiniz??
Sayın gmm

Bu konu başlığı altında bulunan #5 no.lu mesajda vba geriye dönük düzeltme ve güncelleme oluşabilecek hatalar nedeni ile yorucu ve güç olduğunu dile getirmek istemiştim.

Aynı mesele Sayın Evren GİZLEN tarafından izah edilmiştir.

Ekte bulunan dosyayı inceleyiniz.

Buna göre çalışma grubunuzda kaç kişi var ise sayfada isimleri ekleyip, userform üzerindeki isimler ile ilgili olan OptionButton'ların sayısını arttırabilirsiniz.

Kafanıza takılan bölümleri iyice netleştirdikten sonra tekrar yardım alabilirsiniz.

İyi çalışmalar.
 

Ekli dosyalar

  • 20.9 KB Görüntüleme: 23

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyaya listview koydum.Şimdi daha esnek oldu.
Ekli dosyayı inceleyiniz.:cool:
 

Ekli dosyalar

Üst