Dtpicker Sorunu.

Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Çok değerli üstadlarım.

Elimde bir tane tabildot işlerini yaptığımız bir excel vba var.

Fakat bu excelde dtpicker kullanıldığı için 64 bit excel de açamıyorum.

Bilgisayarda yetki kısıtlaması olduğu için farklı şeylerde yükleyemiyorum. ( Mscomct2 gibi )

Dtpickerları iptal edip, yeni bir tarih seçici yapabilir miyiz ? Teşekkürler.

Yardımcı olabilecek arkadaşlara excel dosyasını gönderebilirim.

Hayırlı Ramazanlar Dilerim.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba, forumda örnek dosyalar bulunmakta.

Arama sonuçları.

Örnek bir konu
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Merhaba, forumda örnek dosyalar bulunmakta.

Arama sonuçları.

Örnek bir konu
Adem hocam teşekkür ederim.

Fakat Excel VBA'daki Dtpickerlerin yerine bunu nasıl entegre edeceğiz ? VBA konusunda acemiyim.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Örnek dosya paylaşır mısınız?

** Google Drive, OneDrive ya da dosya paylaşım sitelerine yükleyip bağlantı adresi olarak paylaşabilirsiniz.
 

Bilgemen

Altın Üye
Katılım
7 Şubat 2021
Mesajlar
54
Excel Vers. ve Dili
2021
Altın Üyelik Bitiş Tarihi
03-01-2026
aekteki dosyayı inceleyininiz. kodlara basit ve anlaşılır.
MOD_CALENDAR modülünü ve cCalendar clas modülü kendi çalışma kitabınaekleyiniz. takvim user formundaki kodlara göre kendi kodlarınızı uyarlayınız.
 

Ekli dosyalar

Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
aekteki dosyayı inceleyininiz. kodlara basit ve anlaşılır.
MOD_CALENDAR modülünü ve cCalendar clas modülü kendi çalışma kitabınaekleyiniz. takvim user formundaki kodlara göre kendi kodlarınızı uyarlayınız.
Teşekkür ederim, harici link paylaşabilir misiniz ?
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit

Bilgemen

Altın Üye
Katılım
7 Şubat 2021
Mesajlar
54
Excel Vers. ve Dili
2021
Altın Üyelik Bitiş Tarihi
03-01-2026
Yardımcı olurum olmasına fakat projemizde çok fazla user form var. Ben açtığım zaman tarih yazan yerler boş geliyor herhangi bir textbox göremedim. Tarih eklenecek yerlere textbox ekleyip textboxların rengini mavi yapın belli olmaması için . bakayım
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Yardımcı olurum olmasına fakat projemizde çok fazla user form var. Ben açtığım zaman tarih yazan yerler boş geliyor herhangi bir textbox göremedim. Tarih eklenecek yerlere textbox ekleyip textboxların rengini mavi yapın belli olmaması için . bakayım
Çok teşekkür ederim.

Dediğiniz kısımları bende göremiyorum. Tarih yerleri bende de boş görünüyor. Excel 2003 32 bitte yazılmış, Xp bilgisayarda açtığımızda tarih yerleri gözüküyor fakat xp bilgisayarda da işlem yapamıyorum çok kötü.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba, Sayın Bilgemen'in paylaşmış olduğu çalışmayı dosyanıza ekledim ancak sadece userform1 için ve sadece tarih seçme işlemi yapılıyor.
Tarih seçtikten sonra işlem yapılması için DTPicker'lara da yazdığınız kodları düzenlemeniz gerekir.

Bence, bilgisayar kısıtlaması için ilgili birim/birimler ile görüşüp düzenlemelerini sağlayabilirseniz 32 bit Office yükleyip DTPicker çalışmasını sağlamak, userformlardaki kodları düzenlemekten daha kolay olur.

Dosya bağlantı adresi
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Merhaba, Sayın Bilgemen'in paylaşmış olduğu çalışmayı dosyanıza ekledim ancak sadece userform1 için ve sadece tarih seçme işlemi yapılıyor.
Tarih seçtikten sonra işlem yapılması için DTPicker'lara da yazdığınız kodları düzenlemeniz gerekir.

Bence, bilgisayar kısıtlaması için ilgili birim/birimler ile görüşüp düzenlemelerini sağlayabilirseniz 32 bit Office yükleyip DTPicker çalışmasını sağlamak, userformlardaki kodları düzenlemekten daha kolay olur.

Dosya bağlantı adresi
Adem hocam elinize kolunuza sağlık.

Hocam Vba merakım var userform1 deki kodları da kendim düzenlemek istiyorum. Bu konuda nasıl yapabileceğime dair örnek verebilir misiniz ? Dtpicker yazan yerlere ne yazmam gerek gibi ?
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba,
Private Sub DTPicker1_Change() ve diğerleri için kodları textboxlara taşıyıp, hangi DTPicker için işlem yapmanız gerekiyorsa Textbox ismi ile değiştirmeniz gerekir.
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Merhaba,
Private Sub DTPicker1_Change() ve diğerleri için kodları textboxlara taşıyıp, hangi DTPicker için işlem yapmanız gerekiyorsa Textbox ismi ile değiştirmeniz gerekir.
Sağolun hocam ama pek anlayamadım. Sanırım yapamayacağım. Yine de sağolun hocam elinize emeğinize sağlık.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Örnek olarak, ürün çıkış tarihi için DTPicker3_Change kodlarını kullanıyorsunuz.
Private Sub DTPicker3_Change() ve End Sub arasında kalan kodları kopyalayıp TextBox19_Enter() kodlarına ekleyin, DTPicker3 yazan kısımları TextBox19 olarak değiştirin. (Değiştirilmiş halini de ekledim.)

Bu şekilde diğer DTPicker kodları için de değişiklik yapabilirsiniz.
Not: Bu işlemler öncesi dosyanın yedeğini almanızı tavsiye ederim.

Kod:
Private Sub DTPicker3_Change()
Set AYL = Sheets("Aylık Yemek Listesi")
Set ANM = Sheets("Ana_Menü")

say = WorksheetFunction.CountIf(AYL.[D:D], DTPicker3)
If say > 0 Then
    sat = WorksheetFunction.Match(CDbl(DTPicker3), AYL.[D:D], 0)
        For a = 1 To 6
            Controls("gçeşit" & a) = AYL.Cells(sat, a + 4) 'iLK ÜÇ SUTÜNDAN SONRASINI OKUR
        Next
    Else
        For a = 1 To 6 'COMBO YADA TEXTBOX SAYISIDIR
            Controls("gçeşit" & a) = ""
        Next
End If
DTPicker5 = DTPicker3
ANM.[AM63] = DTPicker3.Value
yemekmaliyetilbl = ANM.[AM64].Value
yemekmaliyetilbl = Format(Replace(yemekmaliyetilbl, ".", ","), "#,##0.00")

Set ANM = Nothing
Set AYL = Nothing
End Sub

Kod:
Private Sub TextBox19_Enter()
' ** DTPicker3 yerine eklendi
If TextBox19 <> "" Then Exit Sub

Dim lngLeft As Long, lngTop As Long
lngLeft = Me.Left + g_cnsAddLeft
    lngTop = Me.Top + g_cnsAddTop
    Call ShowCalendarFromTextBox(TextBox19, "", "", lngLeft, lngTop)
    

Set AYL = Sheets("Aylık Yemek Listesi")
Set ANM = Sheets("Ana_Menü")

say = WorksheetFunction.CountIf(AYL.[D:D], TextBox19)
If say > 0 Then
    sat = WorksheetFunction.Match(CDbl(TextBox19), AYL.[D:D], 0)
        For a = 1 To 6
            Controls("gçeşit" & a) = AYL.Cells(sat, a + 4) 'iLK ÜÇ SUTÜNDAN SONRASINI OKUR
        Next
    Else
        For a = 1 To 6 'COMBO YADA TEXTBOX SAYISIDIR
            Controls("gçeşit" & a) = ""
        Next
End If

TextBox22 = TextBox19
ANM.[AM63] = TextBox19.Value
yemekmaliyetilbl = ANM.[AM64].Value
yemekmaliyetilbl = Format(Replace(yemekmaliyetilbl, ".", ","), "#,##0.00")

Set ANM = Nothing
Set AYL = Nothing
End Sub
250665
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Örnek olarak, ürün çıkış tarihi için DTPicker3_Change kodlarını kullanıyorsunuz.
Private Sub DTPicker3_Change() ve End Sub arasında kalan kodları kopyalayıp TextBox19_Enter() kodlarına ekleyin, DTPicker3 yazan kısımları TextBox19 olarak değiştirin. (Değiştirilmiş halini de ekledim.)

Bu şekilde diğer DTPicker kodları için de değişiklik yapabilirsiniz.
Not: Bu işlemler öncesi dosyanın yedeğini almanızı tavsiye ederim.

Kod:
Private Sub DTPicker3_Change()
Set AYL = Sheets("Aylık Yemek Listesi")
Set ANM = Sheets("Ana_Menü")

say = WorksheetFunction.CountIf(AYL.[D:D], DTPicker3)
If say > 0 Then
    sat = WorksheetFunction.Match(CDbl(DTPicker3), AYL.[D:D], 0)
        For a = 1 To 6
            Controls("gçeşit" & a) = AYL.Cells(sat, a + 4) 'iLK ÜÇ SUTÜNDAN SONRASINI OKUR
        Next
    Else
        For a = 1 To 6 'COMBO YADA TEXTBOX SAYISIDIR
            Controls("gçeşit" & a) = ""
        Next
End If
DTPicker5 = DTPicker3
ANM.[AM63] = DTPicker3.Value
yemekmaliyetilbl = ANM.[AM64].Value
yemekmaliyetilbl = Format(Replace(yemekmaliyetilbl, ".", ","), "#,##0.00")

Set ANM = Nothing
Set AYL = Nothing
End Sub

Kod:
Private Sub TextBox19_Enter()
' ** DTPicker3 yerine eklendi
If TextBox19 <> "" Then Exit Sub

Dim lngLeft As Long, lngTop As Long
lngLeft = Me.Left + g_cnsAddLeft
    lngTop = Me.Top + g_cnsAddTop
    Call ShowCalendarFromTextBox(TextBox19, "", "", lngLeft, lngTop)
   

Set AYL = Sheets("Aylık Yemek Listesi")
Set ANM = Sheets("Ana_Menü")

say = WorksheetFunction.CountIf(AYL.[D:D], TextBox19)
If say > 0 Then
    sat = WorksheetFunction.Match(CDbl(TextBox19), AYL.[D:D], 0)
        For a = 1 To 6
            Controls("gçeşit" & a) = AYL.Cells(sat, a + 4) 'iLK ÜÇ SUTÜNDAN SONRASINI OKUR
        Next
    Else
        For a = 1 To 6 'COMBO YADA TEXTBOX SAYISIDIR
            Controls("gçeşit" & a) = ""
        Next
End If

TextBox22 = TextBox19
ANM.[AM63] = TextBox19.Value
yemekmaliyetilbl = ANM.[AM64].Value
yemekmaliyetilbl = Format(Replace(yemekmaliyetilbl, ".", ","), "#,##0.00")

Set ANM = Nothing
Set AYL = Nothing
End Sub
Çok teşekkür ediyorum, dediğiniz gibi güncelleyip tekrar ilgili dosyayı yükleyeceğim.

Kontrol amaçlı bakabilirseniz çok sevinirim.
 
Katılım
19 Ekim 2023
Mesajlar
41
Excel Vers. ve Dili
Excel 2016 - Office 2016 64 Bit
Örnek olarak, ürün çıkış tarihi için DTPicker3_Change kodlarını kullanıyorsunuz.
Private Sub DTPicker3_Change() ve End Sub arasında kalan kodları kopyalayıp TextBox19_Enter() kodlarına ekleyin, DTPicker3 yazan kısımları TextBox19 olarak değiştirin. (Değiştirilmiş halini de ekledim.)

Bu şekilde diğer DTPicker kodları için de değişiklik yapabilirsiniz.
Not: Bu işlemler öncesi dosyanın yedeğini almanızı tavsiye ederim.

Kod:
Private Sub DTPicker3_Change()
Set AYL = Sheets("Aylık Yemek Listesi")
Set ANM = Sheets("Ana_Menü")

say = WorksheetFunction.CountIf(AYL.[D:D], DTPicker3)
If say > 0 Then
    sat = WorksheetFunction.Match(CDbl(DTPicker3), AYL.[D:D], 0)
        For a = 1 To 6
            Controls("gçeşit" & a) = AYL.Cells(sat, a + 4) 'iLK ÜÇ SUTÜNDAN SONRASINI OKUR
        Next
    Else
        For a = 1 To 6 'COMBO YADA TEXTBOX SAYISIDIR
            Controls("gçeşit" & a) = ""
        Next
End If
DTPicker5 = DTPicker3
ANM.[AM63] = DTPicker3.Value
yemekmaliyetilbl = ANM.[AM64].Value
yemekmaliyetilbl = Format(Replace(yemekmaliyetilbl, ".", ","), "#,##0.00")

Set ANM = Nothing
Set AYL = Nothing
End Sub

Kod:
Private Sub TextBox19_Enter()
' ** DTPicker3 yerine eklendi
If TextBox19 <> "" Then Exit Sub

Dim lngLeft As Long, lngTop As Long
lngLeft = Me.Left + g_cnsAddLeft
    lngTop = Me.Top + g_cnsAddTop
    Call ShowCalendarFromTextBox(TextBox19, "", "", lngLeft, lngTop)
 

Set AYL = Sheets("Aylık Yemek Listesi")
Set ANM = Sheets("Ana_Menü")

say = WorksheetFunction.CountIf(AYL.[D:D], TextBox19)
If say > 0 Then
    sat = WorksheetFunction.Match(CDbl(TextBox19), AYL.[D:D], 0)
        For a = 1 To 6
            Controls("gçeşit" & a) = AYL.Cells(sat, a + 4) 'iLK ÜÇ SUTÜNDAN SONRASINI OKUR
        Next
    Else
        For a = 1 To 6 'COMBO YADA TEXTBOX SAYISIDIR
            Controls("gçeşit" & a) = ""
        Next
End If

TextBox22 = TextBox19
ANM.[AM63] = TextBox19.Value
yemekmaliyetilbl = ANM.[AM64].Value
yemekmaliyetilbl = Format(Replace(yemekmaliyetilbl, ".", ","), "#,##0.00")

Set ANM = Nothing
Set AYL = Nothing
End Sub
Merhaba Hocam dedikleriniz yaptım. Kodları düzenledim, fakat bu hatayı alıyorum bu seferde.

ProgressBar1.Visible = False


İlgili dosyayı aşağıdaki linke yükledim. Teşekkürler.

 
Son düzenleme:
Üst