Sıralı veri girişinde satır silindiğinde sistem hata veriyor

Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Değerli üyeler, iyi akşamlar.

Satırlar boyunca 21 sütundan oluşan tabloya veri aktarılmaktadır. Aktarma işlemi birbirini takip eden sıralama ile, en sondaki dolu hücrenin bir altından devam edecek şekilde gerçekleşmektedir. Sıralama kodlamasında referans sütunu D sütunudur. Bu durumda kullanıcılar satır sildiğinde sistem hata vererek devre dışı kalmaktadır.

Ancak gerçekteden gereksiz oluşan satırların silinmesi icap etmektedir. Ko sistemini dağıtmadan satır silme işlemine gerçekleştirecek kodlama nedir?


Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Lütfen kodları veriniz.Kodlara bakmadan nasıl çözüm bulunacaktır.?
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayın Orion2 Merhaba

Haklısınız kusura bakmayın, genel bir çözüm sunulabilir gibi düşünmüştüm. Aktarma kodlarım aşağıdaki gibidir.

Saygılarımla

Private Sub CommandButton1_Click()

ActiveSheet.Unprotect


Dim ayni, cevap
Dim bos, cevap2
Dim x, cevap3

For Each ayni In Range("D2:D1000,c2:c1000,b2:b1000")
If TextBox9.Value = ayni Then

cevap = MsgBox("Mükerer Kayıt Girişi veya Firma Adı eksik,devam etmek için OK'e basın.", vbCritical)
cevap2 = MsgBox("Firma Adı eksik,devam etmek için bir değer giriniz.", vbCritical)
cevap3 = MsgBox("Firma Adı Girilmedi.", vbInformation)
cevap4 = MsgBox("Firma Adı Girilmedi.", vbInformation)
Exit Sub

Else
GoTo 20
End If

Next ayni

20

ListView1.View = lvwReport
say = ListView1.ListItems.Count
With ListView1
.ListItems.Add , , ComboBox18 ' Kaynak
.ListItems(say + 1).SubItems(1) = ComboBox12 '
.ListItems(say + 1).SubItems(2) = ComboBox3 '
.ListItems(say + 1).SubItems(3) = TextBox4 '
.ListItems(say + 1).SubItems(4) = TextBox5 '
.ListItems(say + 1).SubItems(5) = ComboBox9 '
.ListItems(say + 1).SubItems(6) = TextBox24 '
.ListItems(say + 1).SubItems(7) = ComboBox14 '
.ListItems(say + 1).SubItems(9) = TextBox8 '
.ListItems(say + 1).SubItems(10) = TextBox9 '
.ListItems(say + 1).SubItems(9) = ComboBox11 '
.ListItems(say + 1).SubItems(12) = ComboBox15 '
.ListItems(say + 1).SubItems(11) = ComboBox6 '
.ListItems(say + 1).SubItems(14) = TextBox12 '
.ListItems(say + 1).SubItems(14) = ComboBox4
.ListItems(say + 1).SubItems(15) = ComboBox10
.ListItems(say + 1).SubItems(16) = TextBox20
.ListItems(say + 1).SubItems(17) = TextBox18
.ListItems(say + 1).SubItems(18) = TextBox19

End With

Dim sonsat As Long
sonsat = Cells(1000, "D").End(xlUp).Row





If sonsat >= 1000 Then
MsgBox "Satır Doldu Başka Kayıt Yapamazsınız.", vbCritical
Exit Sub
End If
Cells(sonsat + 1, "B").Select
Cells(sonsat + 1, "B").Value = ComboBox18.Value 'KAYNAK
Cells(sonsat + 1, "C").Value = ComboBox12.Value 'Mimari Ofis
Cells(sonsat + 1, "D").Value = TextBox9.Value 'İNŞAAT FİRMASI D
Cells(sonsat + 1, "E").Value = TextBox4.Value 'GÖRÜŞÜLEN PROJE E
Cells(sonsat + 1, "F").Value = TextBox5.Value 'İLGİLİ KİŞİf
Cells(sonsat + 1, "G").Value = ComboBox3.Value 'ŞEHİR g
Cells(sonsat + 1, "H").Value = TextBox26.Value 'adres h
Cells(sonsat + 1, "I").Value = TextBox8.Value 'telno. h
Cells(sonsat + 1, "J").Value = TextBox24.Value ' e-mail j
Cells(sonsat + 1, "K").Value = ComboBox9.Value 'görüşme şekli k
Cells(sonsat + 1, "L").Value = ComboBox11.Value 'görüşen kişi L
Cells(sonsat + 1, "M").Value = ComboBox15.Value 'ilk görüşme tarihi M
Cells(sonsat + 1, "N").Value = ComboBox19.Value 'SON GÖRÜŞME TARİHİ N
Cells(sonsat + 1, "O").Value = ComboBox4.Value ' PROJE BİTİŞ TARİHİ O
Cells(sonsat + 1, "P").Value = ComboBox14.Value 'verilen doküman P
Cells(sonsat + 1, "Q").Value = ComboBox6.Value ' GÖRÜŞME AŞAMASI Q
Cells(sonsat + 1, "R").Value = TextBox12.Value 'görüşme açıklamaları R
Cells(sonsat + 1, "S").Value = ComboBox10.Value ' SON DURUUM S
Cells(sonsat + 1, "T").Value = TextBox20.Value 'NOTLAR T
Cells(sonsat + 1, "U").Value = TextBox18.Value 'TUTARLAR U

TextBox4.Value = ""
TextBox5.Value = ""
TextBox8.Value = ""
TextBox9.Value = ""
TextBox12.Value = ""
TextBox18.Value = ""
TextBox20.Value = ""
TextBox24.Value = ""
TextBox26.Value = ""
10

sonsat = Cells(1000, "D").End(xlUp).Row
If sonsat >= 1000 Then
MsgBox "Satır Doldu Başka Kayıt Yapamazsınız.", vbCritical
End If
ActiveSheet.Protect
've kilit gene kapanacak
End Sub
 
Üst