kaydedilen veride değişiklik yapmak

Katılım
12 Şubat 2005
Mesajlar
96
Sütüna Kaydettiğim verileri başka bir sayfanın satırında topluyorum.
Combobox ile bu verileri sütüna geri getirip değişiklik yapmak ve bunu kaydetmek istiyorum..
Bunu yapmak için kullandığım makronun yaptığını combobox bozuyor. Böylece yapmak istediğim değişikliği yapamıyorum..
Dosya ektedir.
İlgilenenlere şimdiden teşekkürler..
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Sn eksiman

Sanırım bu konunun uzmanları bayram dolayısıyla foruma gelemiyorlar. Biraz daha sabrederseniz yarından itibaren cevap almaya başlarsınız.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ã?ncelikle comboboxtaki kodu aşağıdaki ile değiştirin.

[vb:1:b0c9c8edfa]Private Sub ComboBox1_Change()
satir = ComboBox1.ListIndex + 1
Set s1 = Sheets("liste")
Set s2 = Sheets("giriş")
s2.Range("b1:b500").ClearContents
For x = 1 To 4
s2.Cells(x + 2, 2) = s1.Cells(satir, x)
Next
End Sub[/vb:1:b0c9c8edfa]

Güncelle butonunada aşağıdaki kodu kopyalayın.

[vb:1:b0c9c8edfa]Sub guncelle()
On Error GoTo son
Set s1 = Sheets("giriş")
Set s2 = Sheets("liste")
If s1.ComboBox1.Value <> s1.[b3] Then
MsgBox "İLK Ã?NCE KAYDI ÇAÐIRIN"
Exit Sub
End If
satir = s1.ComboBox1.ListIndex + 1
s1.ComboBox1.ListFillRange = ""
For x = 3 To 6
s2.Cells(satir, x - 2) = s1.Cells(x, 2).Value
Next
s1.ComboBox1.ListFillRange = "liste!a1:a" & s2.[a65536].End(3).Row
MsgBox "GÜNCELLEME TAMAMLANDI"
Exit Sub
son:
MsgBox "Aranan Kayıt Bulunamadı"
End Sub[/vb:1:b0c9c8edfa]
 
Katılım
12 Şubat 2005
Mesajlar
96
Sayın Leventm, aynen kopyaladım ancak, değişen bir şey yok gibi.. yine güncellediklerimi yeniden cağırdığımda deüişiklikler gelmiyor.. :kafa:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki örneği inceleyin.
 
Katılım
12 Şubat 2005
Mesajlar
96
Leventm, yine olmadı.. İsteğimi anlatamıyorum..
1- Deneme yi çağıralım, B7 ye Jale yazalım ve "Güncelleyelim"
2- Deneme2 yi çağıralım B7 ye kadir yazalım ve "güncelleyelim"
3- Tekrar deneme yi çağıralım B7 de Jale yok? OLması gerek :kafa:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Comboboxa aşağıdaki kodu yazın.

[vb:1:33935fd3a3]Private Sub ComboBox1_Click()
satir = ComboBox1.ListIndex + 1
Set s1 = Sheets("liste")
Set s2 = Sheets("giriş")
s2.Range("b1:b500").ClearContents
sut = s1.Cells(satir, 256).End(xlToLeft).Column
For x = 1 To sut
s2.Cells(x + 2, 2) = s1.Cells(satir, x)
Next
End Sub[/vb:1:33935fd3a3]

Güncelle butonunada aşağıdaki kodu yazın.

[vb:1:33935fd3a3]
Sub guncelle()
On Error GoTo son
Set s1 = Sheets("giriş")
Set s2 = Sheets("liste")
If s1.ComboBox1.Value <> s1.[b3] Then
MsgBox "İLK Ã?NCE KAYDI ÇAÐIRIN"
Exit Sub
End If
satir = s1.ComboBox1.ListIndex + 1
s1.ComboBox1.ListFillRange = ""
For x = 3 To s1.[b65536].End(3).Row
s2.Cells(satir, x - 2) = s1.Cells(x, 2).Value
Next
s1.ComboBox1.ListFillRange = "liste!a1:a" & s2.[a65536].End(3).Row
MsgBox "GÜNCELLEME TAMAMLANDI"
Exit Sub
son:
MsgBox "Aranan Kayıt Bulunamadı"
End Sub
[/vb:1:33935fd3a3]
 
Katılım
12 Şubat 2005
Mesajlar
96
Tesekkürler Leventm, harikasın... :mutlu:

Bu işlemi "Kaydet" ile yapmanın daha kullanışlı olacağını düşünüyorum.." Kaydet" yaptığı işlemin yanında güncelleme yapmakta da kullanılabilir. güncelleme yaplıp kaydete basıldığında" Değişiklikleri kaydetmek istiyormusunuz? " sorusu evetse güncelleme yapılsun hayırsa güncelleme yapılmasın.. :roll:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda aşağıdaki kodu deneyin.

[vb:1:28201fe00d]Sub guncelle()
Set s1 = Sheets("giriş")
Set s2 = Sheets("liste")
If s1.ComboBox1.Value <> s1.[b3] Then sor = MsgBox("GÜNCELLEME YAPILAMADI, AYRI OLARAK KAYDEDİLSİN Mİ?", vbYesNo)
If sor = vbNo Then Exit Sub
If sor = vbYes Then
satir = WorksheetFunction.CountA(s2.[a1:a65536]) + 1
s1.ComboBox1.ListFillRange = ""
For x = 3 To s1.[b65536].End(3).Row
s2.Cells(satir, x - 2) = s1.Cells(x, 2).Value
Next
s1.ComboBox1.ListFillRange = "liste!a1:a" & s2.[a65536].End(3).Row
MsgBox "YENİ KAYIT EKLENDİ"
Exit Sub
End If
satir = s1.ComboBox1.ListIndex + 1
s1.ComboBox1.ListFillRange = ""
For x = 3 To s1.[b65536].End(3).Row
s2.Cells(satir, x - 2) = s1.Cells(x, 2).Value
Next
s1.ComboBox1.ListFillRange = "liste!a1:a" & s2.[a65536].End(3).Row
MsgBox "GÜNCELLEME TAMAMLANDI"
End Sub[/vb:1:28201fe00d]
 
Katılım
12 Şubat 2005
Mesajlar
96
Teşekkürler Leventm, istediğim bu değil ama sizi daha fazla meşgul etmek istemiyorum.. :dua2:
 
Üst