• DİKKAT

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

Koşullu sil

Katılım
8 Mart 2007
Mesajlar
582
Excel Vers. ve Dili
excel 2000 Türkçe
Arkadaşlar ekli dosyamda A4 satırından başlayarak seçtiğim satırları silmek istiyorum. Bir seferde birden fazla satırı silmek istiyorum. A1,A2,A3 satırlarını seçsem bile silmeme izin vermesin. A1,A2,A3 satırlarını silemezsiniz uyarısını versin. Arkadaşlar A1,A2,A3 satırlarını kiltliyerek koruma altına almasını biliyorum. Bu işlemi kodlarla yapmak istiyorum. Teşekürler.
 

Ekli dosyalar

Son düzenleme:
... Arkadaşlar A1,A2,A3 satırlarını kiltliyerek koruma altına almasını biliyorum. Bu işlemi kodlarla yapmak istiyorum. Teşekürler.
Merhaba,
"...A1,A2,A3 satırlarını..." ifadesideki satırlarını sözcüğü hücrelerini şeklinde olması gerekir.
Hücreleri kilitleyerek koruma altına alabiliyorsanız;Makro Kaydet yöntemini kullanarak istediğiniz kodu elde edebilirsiniz.
 
Hocam aşağıdaki kodlarla korumalı sayfamda istediğim satırları siliyorum. Benim istediğim İlk üç satırı silmeme izin vermesin. Yani A1 den A3 e kadar olan satırları yanlışlıkla silmek istemiyorum.

Private Sub CommandButton15_Click()
ActiveSheet.Unprotect "123"
sifre = InputBox("!!!.SİLMEK İSTEDİĞİNİZ SATIRLARI SEÇİNİZ. SATIR SEÇMESENİZ İMLEÇ HANGİ SATIRDA İSE O SATIRI SİLER. SATIRLARI SİLECEĞİNİZDEN EMİN İSENİZ PAROLA GİRİNİZ. !!!")
If sifre = "" Then Exit Sub
Dim Arr()
Application.ScreenUpdating = False
For Each R In Selection.Rows
c = c + 1
ReDim Preserve Arr(1 To c)
Arr(c) = R.Row
Next
First = LBound(Arr)
Last = UBound(Arr)
For i = First To Last - 1
For j = i + 1 To Last
If Arr(i) < Arr(j) Then
Temp = Arr(j)
Arr(j) = Arr(i)
Arr(i) = Temp
End If
Next j
Next i
For k = 1 To UBound(Arr)
Rows(Arr(k)).Delete
Next
Application.ScreenUpdating = True
MsgBox "!!!.SATIR VEYA SATIRLAR SİLİNDİ.!!!"
ActiveSheet.Protect "123"
Range("A65535").End(xlUp).Offset(1, 0).Select
ComboBox2.SetFocus
End Sub
 
Merhaba,
Öncelikle satır ve hücre kavramlarında anlaşalım.
"...A1,A2,A3 ..." derseniz bu hücre olur.
"...A1,A2,A3 satırları..." olmaz.
"...A1,A2,A3 hücreleri..." olur.
Amacınız ilk üç satır ise, bunu 1,2,3. satır veya ilk üç satır şeklinde ifade edebilirsiniz. Eklkediğiniz kodlardan hücreleri değil satırları ifade etmek istediğiniz sonucunu çıkardım.
Belki bu konu size önemsiz bir detay gibi gelebilir ama inanın bugün gerek ülke olarak gerekse birey olarak yaşadığımız sorunların temelinde sözcüklere yüklediğimiz anlamların farklı anlaşılması yatıyor. Bu durum benim açımdan 40 yıllık tecrübeyle sabittir.
Türkçemize sahip çıkalım ve kurallarına saygılı olalım.

Kodlarınızın arasına aşağıda kırmızı olarak işaretlediğim satırları ekleyerek dener misiniz?
Kod:
For Each R In Selection.Rows
[COLOR="Red"]If R.Row <= 3 Then
MsgBox "İlk üç satırı silemezsiniz..", vbExclamation, "UYARI"
Exit Sub
End If[/COLOR]
c = c + 1
 
Hocam çok, çok teşekürler ellerinize sağlık.
Hocam yazmış olduğunuz konu hakkında. Kusura bakmayın acemiliğimize verin. Exceli faza bilmediğimizden kaynaklaniyor.
 
Son düzenleme:
Geri
Üst