• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kayıt düzeltme sorunu

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba arkadaşlar.
Ekteki çalışmamda "satış" formumda yanlış kaydedilen verileri bulup
düzeltmesini istediğim "düzelt" butonum var. Araştırmalarımda bulduğum bir kod dinizini uyguladım. Ama başırılı olamadım. Kodlar aşağıdaki gibi.
Yardımcı olur musunuz? Birde düzeltilen satır sarı renkli dolgu olabilir mi? Örnek aldığım çalışmada öyle bir uygulama vardı?

Kod:
Private Sub CommandButton5_Click()
'Değiştir butonuna basıldığında yapılacak işlemler.
sor = MsgBox("Değiştirmek istediğinizden emin misiniz?", vbYesNo)
'mesaj kutusu devreye giriyor.
If sor = vbNo Then Exit Sub
'evet veya hayır cevaplarından Hayır ise kodlar sonlandırılıyor.
sonsat = ListBox1.ListIndex + 2
'son satır numarası alınıyor.
Cells(sonsat, 2) = TextBox1
'ikinci sutununun en son satırına textbox2 deki açıklama yazılıyor.

Cells(sonsat, 3) = TextBox2
Cells(sonsat, 4) = TextBox3
Cells(sonsat, 5) = TextBox4
Cells(sonsat, 6) = TextBox5
Cells(sonsat, 7) = TextBox6
Cells(sonsat, 8) = TextBox7
Cells(sonsat, 9) = CLng(CDate(TextBox8))
ListBox1.RowSource = "B2:I" & [a65536].End(3).Row
'liste kutusunun satır kaynagının hangi hücreler olduğu belirtiliyor.
MsgBox "DEĞİŞİKLİK YAPILMIŞTIR"
End Sub
 

Ekli dosyalar

Konu günceldir arkadaşlar.
Sorunumu nasıl çözebilirim?

Kaydı düzeltiyor verdiğiniz kodlar. Düzeltme yapın ve sayfaya geçip kontrol edin.

Sanırım sorun daha çok listbox'larda yani yine farklı yerde olabilir.
Bildiğim kadarı ile ve yanlış değilse, listbox'ta en fazla sütun sayı/numarası 10 olabilir ama
sizin formunuzda 32ye kadar rakam var. Zaten 12'de takılıyor kodlar.

Bu sütun sayılarını 10'un altında tutmayı dener misiniz =?
 
Son düzenleme:
Merhaba cems.
Sorunun nerde ve nasıl bir şey olduğunu hala anlayamadım. Kod bilmediğim için yorumda yapamıyorum. Ben bu kodları örnek bir çalışmadan veriyönetimi adında bir çalışma) edindim. ListBoxla ve sütunlarla bir ilişki kuramadığım için konuyu çözümleyemedim. Benim dosyamda 32 ye kadar sütun var ama bunun 18 tanesi dolu. diğerleri boş. Bir işlevi de yok.

Şu an zaten bu konuya kafa yoruyorum. Ama bir türlü çözüme kavuşturamadım. Örnek aldığım dosyayı ekliyorum.
 

Ekli dosyalar

Merhaba cems.
Sorunun nerde ve nasıl bir şey olduğunu hala anlayamadım. Kod bilmediğim için yorumda yapamıyorum. Ben bu kodları örnek bir çalışmadan veriyönetimi adında bir çalışma) edindim. ListBoxla ve sütunlarla bir ilişki kuramadığım için konuyu çözümleyemedim. Benim dosyamda 32 ye kadar sütun var ama bunun 18 tanesi dolu. diğerleri boş. Bir işlevi de yok.

Şu an zaten bu konuya kafa yoruyorum. Ama bir türlü çözüme kavuşturamadım. Örnek aldığım dosyayı ekliyorum.

Sayın Emine Şahin,
Verdiğiniz örnekte 8 listbox sütunu var. 32 Sütun sizde olunca, kod işgörmeyen yerde duruyor asıl problemi bu. Geç saatlerde bakmaya çalışacağım. Ben dosyanızı görmekle birlikte öğrenme amaçlı olarak kendinizin yapmak istediğinizi düşündüğümden direk müdahale etmedim. Ne yapmamı önerirsiniz ? Tavsiye mi dosyada düzeltme mi elden geldiğince ?
 
Bu kısmında öğrenme çabası beni çok yorar. Dosyaya bir düzeltme yapmanızı rica etsem. Ama şu kodlara ' kesme işaretinden sonra açıklama konuyorya. O şekilde bir açıklama yaparsanız biraz daha kavramam kolay olur. Zira ben bu noktada işin içinden çıkamıyorum. Biliyorum ki, bilgim bu noktada çok çok yetersiz.

Saygılarımla.
 
Bu kısmında öğrenme çabası beni çok yorar. Dosyaya bir düzeltme yapmanızı rica etsem. Ama şu kodlara ' kesme işaretinden sonra açıklama konuyorya. O şekilde bir açıklama yaparsanız biraz daha kavramam kolay olur. Zira ben bu noktada işin içinden çıkamıyorum. Biliyorum ki, bilgim bu noktada çok çok yetersiz.

Saygılarımla.

Dosya limiti aştı. PM den özel mail verebilirseniz atabilirim. PM alanınız dolu olduğundan msg gonderemedim, biraz boşaltmanız gerek.
 
Son düzenleme:
Rar yapınca da mı geçiyor limiti? Limit bence biraz artırılmalı. Yönetim duyar inşallah. :)
 
Emine Hn,

Dediğim gibi kodların bir yerini düzeltince başka yer patlak veriyor. Problemler :
1-Düzelt tuşunda comboboxları düzeltme yok, dolayısı ile formdaki bilgiler sadece textboxlarda değişiyor. Ancak Tl yi usd yaparsanız bu değişmiyor.
2-Düzelt kodlarını textbox ve comboboxları içerecek şekilde

Cells(sonsat, 2) = TextBox1
Cells(sonsat, 3) = TextBox2
Cells(sonsat, 4) = TextBox3
Cells(sonsat, 5) = TextBox4
Cells(sonsat, 6) = TextBox5
Cells(sonsat, 7) = TextBox6
Cells(sonsat, 8) = TextBox7
Cells(sonsat, 9) = TextBox8
Cells(sonsat, 10) = TextBox9
Cells(sonsat, 11) = TextBox10
Cells(sonsat, 12) = TextBox11
Cells(sonsat, 13) = TextBox12
Cells(sonsat, 15) = ComboBox1
Cells(sonsat, 16) = ComboBox2
Cells(sonsat, 17) = ComboBox3
Cells(sonsat, 18) = ComboBox4
Cells(sonsat, 19) = ComboBox5

Olarak değiştirsem de bu sefer listbox kodları:

Private Sub TextBox13_Change() 'KİŞİ ARA
Dim k As Range, adrs As String, j As Byte, a As Long
ReDim myarr(1 To 50, 1 To 65536)
If TextBox12.Text = "" Then
ListBox1.RowSource = "satış!A1:AH" & Sheets("satış").[a65536].End(xlUp).Row
Exit Sub
End If
With Worksheets("satış")
ListBox1.RowSource = ""
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(TextBox13.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
For j = 1 To 50
myarr(j, a) = .Cells(k.Row, j).Value
Next j
Set k = Range("C2:C65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ReDim Preserve myarr(1 To 50, 1 To a)
ListBox1.Column = myarr
End If
End With
End Sub
Dizilişinde takılıyor çünki textbox13 diye birşey userformda ben bulamadım, gözümden mi kaçtı bilmiyorum o kadar baktım. Bu durumda listbox kodları olmayan bir başlangıç arıyor. Yani asıl takılan listbox kodları , textboxların düzelmesi ok ama ( comboboxları kapsamadığından) göz boyayıcı olmuş. Bir satırda düzeltme yapılacaksa kodlar tamamını içermeli .

Düzelt kodları çalışıyor. Çalışmayan listbox kodlarınız

PM de size ilettiğim gibi, inşaatın iç direklerini tamamen yıkıp yeniden yapmak ya da listbox dizinini döngü ile yapabilen birine düzelttirmek gerek. Bu benim iyi bilmediğim bir konu, usta arkadaşlar ilgilenebilir.
 
Merhaba Cem Bey.
Ben kodları aşağıdaki gibi düzeltmeye çalıştım. TextBoxlarım çalışıyor.
Belki fikir verir diye ekliyorum. Bunlara Comboboxları ekleyemedim. Şu an üzerinde uğraşıyorum.
Belki konuyu daha iyi bilen arkadaşlar yardımcı olur.
Son durumu tekrar buradan bildiririm inş.
tEXTbOX13 Kişi arama ile ilgili olanıdır. satış adlı formda var.
Ayrıca dosyamın son şeklinin de ekliyorum.
Saygılarımla...

Kod:
Private Sub CommandButton5_Click()
'Değiştir butonuna basıldığında yapılacak işlemler.
sor = MsgBox("Değiştirmek istediğinizden emin misiniz?", vbYesNo)
'mesaj kutusu devreye giriyor.
If sor = vbNo Then Exit Sub
'evet veya hayır cevaplarından Hayır ise kodlar sonlandırılıyor.
sonsat = ListBox1.ListIndex + 1
'son satır numarası alınıyor.
Cells(sonsat, 1) = TextBox1
'ikinci sutununun en son satırına textbox2 deki açıklama yazılıyor.

Cells(sonsat, 3) = TextBox2
Cells(sonsat, 4) = TextBox3
Cells(sonsat, 5) = TextBox4
Cells(sonsat, 6) = TextBox5
Cells(sonsat, 7) = TextBox6
Cells(sonsat, 8) = TextBox7
Cells(sonsat, 13) = TextBox8
Cells(sonsat, 18) = TextBox9
Cells(sonsat, 32) = TextBox10
Cells(sonsat, 33) = TextBox11
Cells(sonsat, 34) = CLng(CDate(TextBox12))
ListBox1.RowSource = "B2:I" & [a65536].End(3).Row
'liste kutusunun satır kaynagının hangi hücreler olduğu belirtiliyor.
MsgBox "DEĞİŞİKLİK YAPILMIŞTIR"
End Sub
 

Ekli dosyalar

Kodlarımı aşağıdaki gibi düzenledim ve çalışıyor.
Şayet kod diziminde ve prosedürde bir hatam varsa bildirir misiniz?
Öğreniyorum ben bu işi yaaa :)

Kod:
Private Sub CommandButton5_Click()
'Değiştir butonuna basıldığında yapılacak işlemler.
sor = MsgBox("Değiştirmek istediğinizden emin misiniz?", vbYesNo)
'mesaj kutusu devreye giriyor.
If sor = vbNo Then Exit Sub
'evet veya hayır cevaplarından Hayır ise kodlar sonlandırılıyor.
sonsat = ListBox1.ListIndex + 1
'son satır numarası alınıyor.
Cells(sonsat, 1) = TextBox1
'ikinci sutununun en son satırına textbox2 deki açıklama yazılıyor.

Cells(sonsat, 3) = TextBox2
Cells(sonsat, 4) = TextBox3
Cells(sonsat, 5) = TextBox4
Cells(sonsat, 6) = TextBox5
Cells(sonsat, 7) = TextBox6
Cells(sonsat, 8) = TextBox7
Cells(sonsat, 13) = TextBox8
Cells(sonsat, 18) = TextBox9
Cells(sonsat, 32) = TextBox10
Cells(sonsat, 33) = TextBox11
Cells(sonsat, 14) = ComboBox1
Cells(sonsat, 15) = ComboBox2
Cells(sonsat, 19) = ComboBox3
Cells(sonsat, 20) = ComboBox4
Cells(sonsat, 21) = ComboBox5
Cells(sonsat, 22) = ComboBox6
Cells(sonsat, 24) = ComboBox7
Cells(sonsat, 31) = ComboBox8
Cells(sonsat, 34) = CLng(CDate(TextBox12))
ListBox1.RowSource = "B2:I" & [a65536].End(3).Row
'liste kutusunun satır kaynagının hangi hücreler olduğu belirtiliyor.
MsgBox "DEĞİŞİKLİK YAPILMIŞTIR"
End Sub
 
Geri
Üst