boş satırları sil

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
boş satırları silmek için aşağıdaki kodları kullanıyorum

Sub boş_satır_sil()
On Error Resume Next
Son_Satır = [C65536].End(xlUp).Row
Range("C15:C" & (Son_Satır - 3)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlUp
On Error GoTo 0
End Sub

SpecialCells(xlCellTypeBlanks) ile C sütunundaki boş satırları tespit ediyorum
xlCellTypeBlanks ifadesinin alternatifleri nelerdir?
hücre değeri boşsa, hücre başvurusu hatası veriyorsa, hücre başka bir sayfadan değer alıyor ama başvurduğu satır boş ise ne yazmam gerekir?

SpecialCells(4) boş hücreyi ifade ediyorsa (1), (2), (3) vs neyi ifade ediyor?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Korhan Ayhan teşekkür ederim, bana çok faydalı olacak.
ancak Sayfa2 A1'de =Sayfa1!$A$1 gibi bir formülüm var ve Sayfa1 A1 hücresi boş ise Sayfa2 A1 hücresi 0 değerini alıyor (araçlar menüde sıfırları gösterme işaretlediğimde boş görünecektir)
Sayfa2 de satır silme makrosu çalıştığında budurumda istediğim sonucu alamıyorum. formül sonucu 0 (sıfır) çıktığında satırı silemiyorum.
aslında şöyle ifade etmek gerekir galiba;
sayfa2 de =sayfa1!a1 ise bu bir başvurudur, sonuç 0 ise silmeli
sayfa2 de =sayfa1!a1+sayfa1!b1 bu bir formüldür, sonuç 0 ise silmemeli
bunu nasıl ifade edebilirim?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,464
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kod işinizi görür mü, bir deneyiniz isterseniz. A sütununda Formüllü hücrelerin rakamsal değere sahip olanları içinde sonucun sıfır olanlarını seçer.

Basit örnekte denedim çalıştı, karmaşık örnekte çalışıp çalışmadığını size sormak istiyorum.

Kod:
Sub Macro2()
For Each Hücre In Columns("A:A").SpecialCells(xlCellTypeFormulas, 1)
    If Hücre.Value = 0 Then MsgBox "Merhaba " & Hücre.Address
Next Hücre
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Necdet Yeşertener, bu kodlar işimi görür. çok teşekkürler.

SpecialCells(xlCellTypeFormulas, 1) sonucu 0 olan hücreler
SpecialCells(xlCellTypeFormulas, 16) sonucu hatalı hücreler
1 ile 16 arasında başka kodlarda olsa gerek, bunları nasıl bulabilirim?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,464
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

İnanın bilmiyorum, denemek gerek.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu yöntemi izleyerek sayısal değerlerini bulabilirsiniz.
Kod:
Sub Makro2()
[a1:a1000].SpecialCells(1).Select
'Açıklamalar
End Sub

Sub Makro3()
[a1:a1000].SpecialCells(2).Select
'Sabitler
End Sub

Sub Makro4()
[a1:a1000].SpecialCells(3).Select
'Formüller
End Sub

Sub Makro5()
[a1:a1000].SpecialCells(3, 1).Select
'Formüller(sayılar)
End Sub
 
Son düzenleme:

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Seyit Tiken, kodlar sayesinde alternatifleri bulabilirim, teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,464
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Değişken bir yapı kurulursa denemek daha kolay olur sanırım, ama ciddi bir tabloda denemek gerek, basit örneklerle anlamak zor.

Aşağıdaki kodları bir düğmeye basarsanız B1 hücresindeki rakama göre işlem yapar ve her basışta B1 e 1 ekler.

Kod:
Sub Makro1()
On Error Resume Next
[A:A].SpecialCells([b1]).Select
[b1] = [b1] + 1
End Sub
 
Üst