Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 15-06-2017, 21:47   #1
TURUNCU28
Altın Üye
 
Giriş: 23/04/2017
Şehir: eskişehir
Mesaj: 55
Excel Vers. ve Dili:
excel 2010 türkçe
Varsayılan düşeyara makro kod yardım

merhaba arkadaşlar
yapmak istediğim userformda tarih olan textbox kısmına tarihi yazdığımızda sayfa2 deki tarihe göre aynı satırdaki ücretleri uygun textboxlara yazsın istiyorum. ayrıca tarihi gün gün yazmak yerine sadece ay ismini yazdığımızda da tüm ayı, yıl yazdığımızda da tüm yılın verilerini toplayıp uygun textboxlara yazsın istiyorum. şimdiden teşekkür ederim umarım anlatabilmişimdir.

Dosyadan şifreleri kaldırıp yeniden ekledim
Eklenmiş Dosyalar
Dosya Türü: xls PROGRAM (2).xls (122.0 KB, 9 Görüntülenme)

Bu mesaj en son " 16-06-2017 " tarihinde saat 00:47 itibariyle TURUNCU28 tarafından düzenlenmiştir....
TURUNCU28 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-06-2017, 22:10   #2
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,065
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Merhaba.

Destek istenilen belgelerin sayfa koruma şifresi içermesi veya
VBA kodlarına erişimin şifre ile engellenmesi, destek almanızı ve sorununuzu çözmenizi engeleyecektir.

Bu durum; FORUM KURALLARInın Dosya Ekleme başlıklı bölümüne göre de kurallara uygun değil.
Örnek belgenizi şifresiz olarak yenilemenizi öneriyorum.
.
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-06-2017, 22:56   #3
TURUNCU28
Altın Üye
 
Giriş: 23/04/2017
Şehir: eskişehir
Mesaj: 55
Excel Vers. ve Dili:
excel 2010 türkçe
Varsayılan

Alıntı:
Ömer BARAN tarafından gönderildi Mesajı Görüntüle
Merhaba.

Destek istenilen belgelerin sayfa koruma şifresi içermesi veya
VBA kodlarına erişimin şifre ile engellenmesi, destek almanızı ve sorununuzu çözmenizi engeleyecektir.

Bu durum; FORUM KURALLARInın Dosya Ekleme başlıklı bölümüne göre de kurallara uygun değil.
Örnek belgenizi şifresiz olarak yenilemenizi öneriyorum.
.
kusura bakmayın dikkatimden kaçmış. Doğru söylüyosunuz heryerde şifre olunca yardım almak da imkansız hale geliyor. Teşekkür ettim. tekrardan kusura bakmayın lütfen
TURUNCU28 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-06-2017, 14:12   #4
TURUNCU28
Altın Üye
 
Giriş: 23/04/2017
Şehir: eskişehir
Mesaj: 55
Excel Vers. ve Dili:
excel 2010 türkçe
Varsayılan

arkadaşlar destek olabilecek var mı acaba? dosyada da düzenleme yaptım sayfa koruma sorununu kaldırdım.
TURUNCU28 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-06-2017, 14:57   #5
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,446
Excel Vers. ve Dili:
2010-2016
Varsayılan

1. Formatı (Gün olarak) aşağıdaki şekilde kodları değiştirip yapın. Vakit bulursam diğerleri için de yardımcı olmaya çalışırım.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
TextBox5.Text = Empty
CheckBox3.Value = 0
CheckBox4.Value = 0
Else
Range("B11").ClearContents
End If
End Sub

Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
TextBox5.Text = Empty
CheckBox2.Value = 0
CheckBox4.Value = 0
Else
Range("B11").ClearContents
End If
End Sub

Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
TextBox5.Text = Empty
CheckBox2.Value = 0
CheckBox3.Value = 0
Else
Range("B11").ClearContents
End If
End Sub


Private Sub TextBox1_Change()
If CheckBox4.Value = True Then
    tarih = CDate(TextBox5)
End If
End Sub



Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa2")
Dim SonSatir As Long
SonSatir = s1.Range("F65536").End(xlUp).Row

If CheckBox4.Value = True Then
    If TextBox5.TextLength <> 10 Then
        MsgBox "Lütfen Tarih formatını gg.aa.yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    Else
        'Kredi Kartı
        TextBox1.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("J2:J" & SonSatir)), "Currency")
        'Nakit
        TextBox2.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("I2:I" & SonSatir)), "Currency")
        'Hesap Kartı
        TextBox3.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("K2:K" & SonSatir)), "Currency")
    End If
ElseIf CheckBox2.Value = True Then
    If TextBox5.TextLength <> 7 Then
        MsgBox "Lütfen Tarih formatını aa.yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    End If
Else
    If TextBox5.TextLength <> 4 Then
        MsgBox "Lütfen Tarih formatını yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    End If
End If
End Sub
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-06-2017, 15:24   #6
TURUNCU28
Altın Üye
 
Giriş: 23/04/2017
Şehir: eskişehir
Mesaj: 55
Excel Vers. ve Dili:
excel 2010 türkçe
Varsayılan

Alıntı:
askm tarafından gönderildi Mesajı Görüntüle
1. Formatı (Gün olarak) aşağıdaki şekilde kodları değiştirip yapın. Vakit bulursam diğerleri için de yardımcı olmaya çalışırım.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
TextBox5.Text = Empty
CheckBox3.Value = 0
CheckBox4.Value = 0
Else
Range("B11").ClearContents
End If
End Sub

Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
TextBox5.Text = Empty
CheckBox2.Value = 0
CheckBox4.Value = 0
Else
Range("B11").ClearContents
End If
End Sub

Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
TextBox5.Text = Empty
CheckBox2.Value = 0
CheckBox3.Value = 0
Else
Range("B11").ClearContents
End If
End Sub


Private Sub TextBox1_Change()
If CheckBox4.Value = True Then
    tarih = CDate(TextBox5)
End If
End Sub



Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa2")
Dim SonSatir As Long
SonSatir = s1.Range("F65536").End(xlUp).Row

If CheckBox4.Value = True Then
    If TextBox5.TextLength <> 10 Then
        MsgBox "Lütfen Tarih formatını gg.aa.yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    Else
        'Kredi Kartı
        TextBox1.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("J2:J" & SonSatir)), "Currency")
        'Nakit
        TextBox2.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("I2:I" & SonSatir)), "Currency")
        'Hesap Kartı
        TextBox3.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("K2:K" & SonSatir)), "Currency")
    End If
ElseIf CheckBox2.Value = True Then
    If TextBox5.TextLength <> 7 Then
        MsgBox "Lütfen Tarih formatını aa.yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    End If
Else
    If TextBox5.TextLength <> 4 Then
        MsgBox "Lütfen Tarih formatını yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    End If
End If
End Sub

çok teşekkür ederim askm. eline sağlık. yalnız kodu yerleştirdiğimde sayfa2 deki l sütunundaki tarihi girdiğimde aynı satırdaki "I","J","K" sütununda ücret değerleri textboxlara geçmiyor. daha doğrusu textboxlara ücret geçiyor ancak 0 tl olarak gözüküyor.
TURUNCU28 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-06-2017, 15:55   #7
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,446
Excel Vers. ve Dili:
2010-2016
Varsayılan

Kodlarınız aşağıdaki şekilde.Gün girerken "gg.aa.yyyy", Ay girerken "aa.yyyy"; Yıl girerken de "yyyy" formatında girmeniz gerekir.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa2")
Dim SonSatir As Long
SonSatir = s1.Range("F65536").End(xlUp).Row

If CheckBox4.Value = True Then
    If TextBox5.TextLength <> 10 Then
        MsgBox "Lütfen Tarih formatını gg.aa.yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    Else
        'Kredi Kartı
        TextBox1.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("J2:J" & SonSatir)), "Currency")
        'Nakit
        TextBox2.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("I2:I" & SonSatir)), "Currency")
        'Hesap Kartı
        TextBox3.Text = Format(WorksheetFunction.SumIf(s1.Range("L2:L" & SonSatir), CDate(TextBox5.Text), s1.Range("K2:K" & SonSatir)), "Currency")
    End If
ElseIf CheckBox2.Value = True Then
    If TextBox5.TextLength <> 7 Then
        MsgBox "Lütfen Tarih formatını aa.yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    Else
        ayin_ilk_günü = Format(DateValue("01." & Left(TextBox5.Text, 2) & "." & Mid(TextBox5.Text, 4, 7)), "dd.mm.yyyy")
        ayin_son_günü = CDate(WorksheetFunction.EoMonth(CDate(ayin_ilk_günü), 0))
        'Kredi Kartı
            For kki = 2 To SonSatir
                If CDate(s1.Cells(kki, "L").Value) >= CDate(ayin_ilk_günü) And CDate(s1.Cells(kki, "L").Value) <= CDate(ayin_son_günü) Then
                    kks = CDbl(s1.Cells(kki, "J")) + kks
                End If
            Next kki
            TextBox1.Text = Format(kks, "Currency")
        'Nakit
             For nki = 2 To SonSatir
                If CDate(s1.Cells(nki, "L").Value) >= CDate(ayin_ilk_günü) And CDate(s1.Cells(nki, "L").Value) <= CDate(ayin_son_günü) Then
                    nks = CDbl(s1.Cells(kki, "I")) + kks
                End If
            Next nki
            TextBox2.Text = Format(nks, "Currency")
        'Hesap Kartı
            For hki = 2 To SonSatir
                If CDate(s1.Cells(hki, "L").Value) >= CDate(ayin_ilk_günü) And CDate(s1.Cells(hki, "L").Value) <= CDate(ayin_son_günü) Then
                    hks = CDbl(s1.Cells(hki, "K")) + kks
                End If
            Next hki
            TextBox3.Text = Format(hks, "Currency")
    End If
Else
    If TextBox5.TextLength <> 4 Then
        MsgBox "Lütfen Tarih formatını yyyy şeklinde giriniz"
        TextBox5.Text = Empty
    Else
        yil_ilk_g = Format(DateValue("01.01." & TextBox5.Text), "dd.mm.yyyy")
        yil_son_g = Format(DateValue("31.12." & TextBox5.Text), "dd.mm.yyyy")
        
        'Kredi Kartı
            For kkyi = 2 To SonSatir
                If CDate(s1.Cells(kkyi, "L").Value) >= CDate(yil_ilk_g) And CDate(s1.Cells(kkyi, "L").Value) <= CDate(yil_son_g) Then
                    kkys = CDbl(s1.Cells(kkyi, "J")) + kkys
                End If
            Next kkyi
            TextBox1.Text = Format(kkys, "Currency")
        'Nakit
             For nkyi = 2 To SonSatir
                If CDate(s1.Cells(nkyi, "L").Value) >= CDate(yil_ilk_g) And CDate(s1.Cells(nkyi, "L").Value) <= CDate(yil_son_g) Then
                    nkys = CDbl(s1.Cells(nkyi, "I")) + nkys
                End If
            Next nkyi
            TextBox2.Text = Format(nkys, "Currency")
        'Hesap Kartı
            For hkyi = 2 To SonSatir
                If CDate(s1.Cells(hkyi, "L").Value) >= CDate(yil_ilk_g) And CDate(s1.Cells(hkyi, "L").Value) <= CDate(yil_son_g) Then
                    hkys = CDbl(s1.Cells(hkyi, "K")) + hkys
                End If
            Next hkyi
            TextBox3.Text = Format(hkys, "Currency")
    End If
End If
End Sub
Eklenmiş Dosyalar
Dosya Türü: xls form örneği düşeyara makro kod yardım.xls (146.5 KB, 15 Görüntülenme)
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-06-2017, 16:05   #8
dellerlim
Altın Üye
 
Giriş: 24/02/2012
Şehir: kırşehir
Mesaj: 280
Excel Vers. ve Dili:
office 2007 türkçe
Varsayılan

Sayın askm uygulanmış halini dosya olarak paylaşabilir misiniz
dellerlim Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-06-2017, 17:04   #9
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,446
Excel Vers. ve Dili:
2010-2016
Varsayılan

Örnek dosya alt kısmında ekli zaten.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 16-06-2017, 17:08   #10
dellerlim
Altın Üye
 
Giriş: 24/02/2012
Şehir: kırşehir
Mesaj: 280
Excel Vers. ve Dili:
office 2007 türkçe
Varsayılan

Ben mesajı yazarken sayfayı güncellemediğim için ekli değildi, teşekkür ederim.
dellerlim Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 13:20


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Torna - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Çorlu Temizlik- Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Su Deposu Temizliği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden