AccessTr.neT
Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. (/konu-excel-vba-formdaki-bilgilerde-degisiklik-yapildiysa-guncellesin.html)

Sayfalar: 1 2 3


Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - Oğuz Türkyılmaz - 18/04/2021

Merhaba
Excel sayfasına formdan girilen bilgileri arama butonu yardımıyla ID değerine göre buluyor ve form üstüne getirerek güncelleme ve silme işlemlerini yapabiliyordum. Fakat kayıt sayısı fazla olduğunda ID numarasını bulmakta ayrı bir filtreleme işlemi gerektireceğinden zaman kaybı oluşturacaktı ve çok kullanışlı olmadığından
bu yöntemden vazgeçtim. Firma Ünvanı adlı Textbox'ın change olayına yazılan kodla bilgileri Sayfadan forma getirebiliyorum. Form Üzerinde bir değişiklik yapıldığında güncelleme butonuna basarak bu değişikliklerin gerçekleşmesini nasıl sağlayabilirim. Yardımlarınız için teşekkür ederim.

Kod:
Private Sub btn_Guncelle_Click()

With ThisWorkbook.Worksheets("Ana_Sayfa")


If MsgBox("Yaptığınız Değişiklikler Kaydedilerek, Bilgiler Güncellenecektir, Emin misiniz...?", vbExclamation + vbYesNo, "Firma Tanımlama Formu") = vbNo Then Exit Sub



        .Cells(Guncelle, 1) = TextBox_ID.Value
        .Cells(Guncelle, 2) = TextBox_FirmaAdi.Value
        .Cells(Guncelle, 3) = ComboBox_FirmaUnvani.Value
        .Cells(Guncelle, 4) = TextBox_YetkiliKisi.Value
        .Cells(Guncelle, 5) = TextBox_Telefon.Value
        .Cells(Guncelle, 6) = TextBox_Gsm.Value
        .Cells(Guncelle, 7) = TextBox_Email.Value
        .Cells(Guncelle, 8) = TextBox_Adres.Value
        .Cells(Guncelle, 9) = TextBox_Aciklama.Value
        .Cells(Guncelle, 10) = ComboBox_Ilce.Value
        .Cells(Guncelle, 11) = ComboBox_Sehir.Text
        .Cells(Guncelle, 12) = ComboBox_Bolge.Value
        .Cells(Guncelle, 13) = ComboBox_Temsilci.Value
        .Cells(Guncelle, 14) = ComboBox_RouteDay.Value
        .Cells(Guncelle, 15) = ComboBox_YetkiliBayilik
        .Cells(Guncelle, 16) = CheckBox_BioClimatic.Value
        .Cells(Guncelle, 17) = CheckBox_CamBalkon.Value
        .Cells(Guncelle, 18) = CheckBox_CamTavan.Value
        .Cells(Guncelle, 19) = CheckBox_FotoselliKapi.Value
        .Cells(Guncelle, 20) = CheckBox_Giyotin.Value
        .Cells(Guncelle, 21) = CheckBox_İsicamliSurme.Value
        .Cells(Guncelle, 22) = CheckBox_Pergola.Value
        .Cells(Guncelle, 23) = CheckBox_RuzgarKirici.Value
        .Cells(Guncelle, 24) = CheckBox_TavanPerdesi.Value
        .Cells(Guncelle, 25) = CheckBox_ZipPerde.Value
        .Cells(Guncelle, 26) = TextBox_Tarih.Value
 
    End With
   
 
 


End Sub




Re: Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - berduş - 19/04/2021

dilerim işinize yarar
ama çalışmada şöyle bir soruna rastladım, verileri metin kutularından hücrelere aktarmaya çalışırken;
.Cells(Guncelle, 3) = ComboBox_FirmaUnvani.Value bu kodda ComboBox_FirmaUnvani change olayı tetiklenip bütün verileri ilk haline döndürüyor ki aslında olmaması gerek sonuçta değişen bir şey yok bu olayın tetiklenmemesi lazım sebebini anlamadım @feraz hocam çözüm bulabilir, o nedenle bu satırı devre dışı bıraktım.


RE: Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - feraz - 19/04/2021

(19/04/2021, 17:50)berduş yazdı: bu kodda ComboBox_FirmaUnvani change olayı tetiklenip bütün verileri ilk haline döndürüyor ki aslında olmaması gerek sonuçta değişen bir şey yok bu olayın tetiklenmemesi lazım sebebini anlamadım @feraz hocam çözüm bulabilir,
Akşama bir bakayım abey nedenmiş.


RE: Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - Oğuz Türkyılmaz - 19/04/2021

Berduş Hocam vakit ayırıp çözüm ürettiğiniz için çok teşekkür ederim. Güncellenen verilerin checkboxlardaki yansıması doğru yanlış şeklinde olmuş bu durumu

Kod:
Sub checkboxKontrol(ByVal son As Long)
    With ThisWorkbook.Worksheets("Ana_Sayfa")
        '.Unprotect sifre
        .Cells(son, 16).Value = IIf(CheckBox_BioClimatic.Value = True, "Evet", "Hayır")
        .Cells(son, 17).Value = IIf(CheckBox_CamBalkon.Value = True, "Evet", "Hayır")
        .Cells(son, 18).Value = IIf(CheckBox_CamTavan.Value = True, "Evet", "Hayır")
        .Cells(son, 19).Value = IIf(CheckBox_FotoselliKapi.Value = True, "Evet", "Hayır")
        .Cells(son, 20).Value = IIf(CheckBox_Giyotin.Value = True, "Evet", "Hayır")
        .Cells(son, 21).Value = IIf(CheckBox_İsicamliSurme.Value = True, "Evet", "Hayır")
        .Cells(son, 22).Value = IIf(CheckBox_Pergola.Value = True, "Evet", "Hayır")
        .Cells(son, 23).Value = IIf(CheckBox_RuzgarKirici.Value = True, "Evet", "Hayır")
        .Cells(son, 24).Value = IIf(CheckBox_TavanPerdesi.Value = True, "Evet", "Hayır")
        .Cells(son, 25).Value = IIf(CheckBox_ZipPerde.Value = True, "Evet", "Hayır")
        '.Protect sifre
    End With
End Sub


kodlarıyla eğer sonuçlardaki checkbox değeri true ise evet değilse hayır şeklinde hücrelere yaz demiştik.
Güncelleme işlemi gerçekleştikten sonra checkboxlardaki hücrelere yazılan değerler doğru yanlış şeklinde sirayet etmiş. Bu durumu düzeltmek için ne yapabilirim.

[Resim: do.php?img=10923]


RE: Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - feraz - 19/04/2021

Halil hocam evet bendede dediğiniz gibi oluyor o sorunu Dim iptalComboBox_FirmaUnvani As Byte tanımladım en üste ve gerekli yerlere alttaki kodları ekledim sorun giderildi.
Bazen Excel cinslik yapıyor abey Img-grin
Güncelleyince mesaj ve toplu combo vs.. leritemizlettim tarih hariç.


iptalComboBox_FirmaUnvani = 1
iptalComboBox_FirmaUnvani = 0



RE: Excel Vba Formdaki Bilgilerde Değişiklik Yapıldıysa Güncellesin. - Oğuz Türkyılmaz - 19/04/2021

Feraz hocam kod tüm o ID ye kadar ki ( 4 numaralı kaydı güncelledim ) kayıtlı bilgilerdeki Checkbox değerlerinin tamamını evet hayır dan doğru yanlış sonuçlarına çevirmiş.
[Resim: do.php?img=10924]