Makro ile tablo verisi güncelleme

furkani

Altın Üye
Katılım
24 Şubat 2020
Mesajlar
64
Excel Vers. ve Dili
Microsoft Office Standard 2019
Altın Üyelik Bitiş Tarihi
26-04-2025
Herkese selamlar,

Ekli dosya da 2 ayrı sayfa yer almaktadır.
İlk Sayfa Veri Giriş formu, ikinci sayfa ise bu verilerin kaydedildiği tablo.
Forma girilen verileri 2. sayfada ki tabloya kaydetme ve tablodaki verileri forma veri çağırma yapıyorum. Kayıt ve çağırma işlemlerini Seri Numarasına bağlı olarak yapıyor.
Ancak, çağırılan seri numarasına bağlı veriler forma geldiği zaman verilerde değişiklik yapılırsa "Güncelle ve Kaydet" butonu ile veri tablosunda ki satır güncellensin istiyorum. (Yeni satır eklenmesi değil, çağırılan seri numarasına bağlı satırda değişiklik yapılması.)

İyi forumlar.
 

Ekli dosyalar

furkani

Altın Üye
Katılım
24 Şubat 2020
Mesajlar
64
Excel Vers. ve Dili
Microsoft Office Standard 2019
Altın Üyelik Bitiş Tarihi
26-04-2025
Konu güncel arkadaşlar, yardımlarınızı bekliyorum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Güncelleme için aşağıdaki makroyu deneyiniz:

PHP:
Sub guncelle()

'Worksheets("eksper_giris").Unprotect "5858"
'Worksheets("eksper_tablo").Unprotect "5858"

'eksper_tablo_verileri
With Sheets("eksper_giris")
    If .Range("B3").Value = "" Then
        MsgBox "Eksper Adı Boş Olamaz!."
        .Range("B3").Select
        Exit Sub
    ElseIf .Range("B4").Value = "" Then
        MsgBox "İrsaliye Tarihi Boş Olamaz!."
        Cancel = True
        .Range("B4").Select
        Exit Sub
    ElseIf .Range("B5").Value = "" Then
        MsgBox "Bölge Adı Boş Olamaz!."
        Cancel = True
        .Range("B5").Select
        Exit Sub
    ElseIf .Range("B6").Value = "" Then
        MsgBox "Kooperatif Adı Boş Olamaz!."
        Cancel = True
        .Range("B6").Select
        Exit Sub
    ElseIf .Range("B7").Value = "" Then
        MsgBox "Ürün Çeşidi Boş Olamaz!."
        Cancel = True
        .Range("B7").Select
        Exit Sub
    ElseIf .Range("B8").Value = "" Then
        MsgBox "İrsaliye No Boş Olamaz!."
        Cancel = True
        .Range("B8").Select
        Exit Sub
    ElseIf .Range("B9").Value = "" Then
        MsgBox "İrsaliye Miktarı Boş Olamaz!."
        Cancel = True
        .Range("B9").Select
        Exit Sub
    ElseIf .Range("B10").Value = "" Then
        MsgBox "Birim Fiyat Boş Olamaz!."
        Cancel = True
        .Range("B10").Select
        Exit Sub
    ElseIf .Range("B12").Value = "" Then
        MsgBox "Plaka Boş Olamaz!."
        Cancel = True
        .Range("B12").Select
        Exit Sub
    ElseIf .Range("B13").Value = "" Then
        MsgBox "Sevk Yeri Boş Olamaz!."
        Cancel = True
        .Range("B13").Select
        Exit Sub
    ElseIf .Range("B15").Value = "" Then
        MsgBox "Protein Boş Olamaz!."
        Cancel = True
        .Range("B15").Select
    Exit Sub
    ElseIf .Range("B16").Value = "" Then
        MsgBox "Hektolitre Boş Olamaz!."
        Cancel = True
        .Range("B16").Select
        Exit Sub
    ElseIf .Range("B17").Value = "" Then
        MsgBox "Analiz Boş Olamaz!."
        Cancel = True
        .Range("B17").Select
        Exit Sub
    End If
End With
son = Sheets("eksper_tablo").Cells(Rows.Count, "A").End(3).Row
If WorksheetFunction.CountIf(Sheets("eksper_tablo").Range("A1:A" & son), Sheets("eksper_giris").[B2]) = 0 Then
    MsgBox Sheets("eksper_giris").[B2] & " sıra nolu kayıt eksper_tablo sayfasında bulunamadı!", vbCritical
    Sheets("eksper_giris").Activate
    Sheets("eksper_giris").[B2].Select
    Exit Sub
Else
    sat = WorksheetFunction.Match([B2], Sheets("eksper_tablo").Range("A1:A" & son), 0)
    Sheets("eksper_giris").Range("B3:B13").Copy: Sheets("eksper_tablo").Cells(sat, "B").PasteSpecial Paste:=xlPasteValues, Transpose:=True
    Sheets("eksper_tablo").Select
    Columns("A:O").EntireColumn.AutoFit
    Range("C1").End(xlDown).Offset(1, 0).Select

    Sheets("eksper_giris").Select
    Range("B3:B13,B15:B17").Select
    Range("B15").Activate
    Selection.ClearContents
    Range("A1").Select
End If
'Worksheets("eksper_giris").Protect "5858"
'Worksheets("eksper_tablo").Protect "5858"
End Sub
 

furkani

Altın Üye
Katılım
24 Şubat 2020
Mesajlar
64
Excel Vers. ve Dili
Microsoft Office Standard 2019
Altın Üyelik Bitiş Tarihi
26-04-2025
Kod:
Else
    sat = WorksheetFunction.Match([B2], Sheets("eksper_tablo").Range("A1:A" & son), 0)
    Sheets("eksper_giris").Range("B3:B13").Copy: Sheets("eksper_tablo").Cells(sat, "B").PasteSpecial Paste:=xlPasteValues, Transpose:=True
    Sheets("eksper_tablo").Select
    Columns("A:O").EntireColumn.AutoFit
    Range("C1").End(xlDown).Offset(1, 0).Select
kısmında;

Kod:
Sheets("eksper_giris").Range("B3:B13,B15:B17").Copy:
değişikliği yaptım.

Çok teşekkür ederim. Elinize sağlık
 
Üst