SpecialCells konusu

Katılım
30 Nisan 2008
Mesajlar
73
Excel Vers. ve Dili
2007 tr
Merhaba,

Bir aralıktaki örneğin formüllü, boş, sabit değerli ya da en son vs hücrelerin seçimi için SpecialCells(xltype....) gibi bir formülün kullandığnı görüyorum.

SpecialCells komutunun hangi durumlarda ve hangi değişkenlerle kullanılacağını bulabileceğim toolu bir liste ya da makale var mı?
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
DÜZEN>GİT>ÖZEL bölümünden bu menülere ulaşabilirsiniz.
Makro kaydet yöntemini kullanarak bunların kodlarını elde edebilirsiniz.
 
Katılım
30 Nisan 2008
Mesajlar
73
Excel Vers. ve Dili
2007 tr
Sayın hamitcan, gönderdiğiniz bağlantıyı daha önce incelemiştim fakat malesef bilgiler yetersiz, örneğin Selection.SpecialCells(xlCellTypeFormulas, 23)'daki 23 sayısı neyi temsil ediyor, diğer kullnılabilecek sayılar nelerdir, buna cevap getirmiyor.

Sayın leumruk, düzen komutunu yeni excel'de nerede bulabilirim acaba?
 
Katılım
30 Nisan 2008
Mesajlar
73
Excel Vers. ve Dili
2007 tr
Bu bağlantıda da yine anlamadığım çeşitli rakamlar var. "xlcelltype" kısmındaki "constants" herhangi bir açıklama içermiyor ne yazık ki. Yine de vakit ayırıp yanıtlayan herkese teşekkür ederim.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
uzmanı değilim ama benim de ilgi duyduğum bir konu olduğu için arada bir vesile olursa araştırıyorum.

ms'un sitesine bakarsak:
XlCellType
Constant Value
xlCellTypeAllFormatConditions -4172
xlCellTypeAllValidation -4174
xlCellTypeBlanks 4
xlCellTypeComments -4144
xlCellTypeConstants 2
xlCellTypeFormulas -4123
xlCellTypeLastCell 11
xlCellTypeSameFormatConditions -4173
xlCellTypeSameValidation -4175
xlCellTypeVisible 12

şimdi aşağıdaki 2 kod da aynı işi yapar. yani A1:A250 aralığında boş bir hücre varsa o hücreninin tüm satırını siler.

Kod:
[A1:A250].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Kod:
[A1:A250].SpecialCells(4).EntireRow.Delete

aşağıdaki 2 kod da aynı işi yapar. yani A1:A250 aralığında formül içeren ve formül sonucu hata veren bir hücre varsa o hücreninin tüm satırını siler.
Kod:
[A1:A250].SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
Kod:
[A1:A250].SpecialCells(-4123, 16).EntireRow.Delete
 
Son düzenleme:
Katılım
30 Nisan 2008
Mesajlar
73
Excel Vers. ve Dili
2007 tr
Hımm, şimdi bağlantılardaki sayıları anladım, ama [A1:A250].SpecialCells(-4123, 16).EntireRow.Delete satırındaki 16 sayısının nereden alındığını, bu sayıların listesinin nerede olduğunu bilmem gerekiyor. Teşekkürler.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
yukarıdaki link'e bakarsanız, sonlara doğru göreceksiniz

XlSpecialCellsValue
--------------------------------------------------------------------------------

Constant Value
xlErrors 16
xlLogical 4
xlNumbers 1
xlTextValues 2
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,992
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. patdizz,

Bu uygulamadaki sonuçları öğrenmek için MAKRO KAYDET yöntemini kullanabilirsiniz.

Örnek bir dosya oluşturun. Dosyanızda formüller, boş hücreler, koşulu biçimlendirmeler kullanın. Özellikle kullandığınız formüllerin bazılarının hata vermesini sağlayın. Daha sonra bu dosya üzerinde makro kaydet yöntemi ile F5-ÖZEL menüsünü kullanarak sayfada işlemler yapın. Ve makroyu durdurup oluşan kodları tek tek inceleyin. Bu şekilde o menüdeki işlevlerin kodlarını rahatlıkla öğrenmiş olursunuz.
 
Katılım
30 Nisan 2008
Mesajlar
73
Excel Vers. ve Dili
2007 tr
SpecialCells(xlCellTypeFormulas, 23)'deki 23'ü bulamadım mesela. Bunları açık açık yazan, örnekler veren bir döküman ya da bir site sanırım yok. Kitapları da karıştırdım ama orada da yok. Yine de teşekkürler.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
ayrıca:

SpecialCells(xlCellTypeFormulas, 23).Select 'All formulae
SpecialCells(xlCellTypeFormulas, 16).Select 'All formulae with errors
SpecialCells(xlCellTypeFormulas, 2).Select 'All formulae with text
SpecialCells(xlCellTypeFormulas, 4).Select 'All formulae with logic
SpecialCells(xlCellTypeFormulas, 6).Select 'All formulae with text or logic


http://www.mvps.org/dmcritchie/excel/proper.htm
 
Katılım
30 Nisan 2008
Mesajlar
73
Excel Vers. ve Dili
2007 tr
XlSpecialCellsValue Constants:

xlErrors = 16

xlLogical = 4

xlNumbers = 1

xlTextValues = 2


the 3 is a combination of xl numbers and xltextvalues

23 is the default as it is sum of all of the cellsvalue constants.

Highlight SpecialCells with your mouse, then press F1 to view help and a bit more on how it's used.

yazmışlar. yani bu rakamları ister tek tek, ister toplayarak kullanabiliyoruz.. Enteresan. Sanırım şimdi anladım. Teşekkürler mancubus :)
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
rica ederim.

aşağıdaki gibi de oluyor.

Kod:
Selection.SpecialCells(xlCellTypeFormulas, xlNumbers + xlTextValues).EntireRow.Delete
=
Kod:
Selection.SpecialCells(xlCellTypeFormulas, 1 + 2).EntireRow.Delete
=
Kod:
Selection.SpecialCells(xlCellTypeFormulas, 3).EntireRow.Delete
yani 23 (ki, kullanmaya da gerek yokmuş aslında, default olduğu için) formül sonucu rakam ise, text ise, mantıksal ise, sabit ise vb siliyor.



ayrıca şuraya da bakmakta fayda var:
http://www.rondebruin.nl/specialcells.htm
 

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
Sn mancubus

Verdiğiniz linkler gerçekten çok faydalı bilgiler içeriyor. Araştırmaya zaman ayırıp paylaştığınız için teşekkür ederim.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
Sn mancubus

Verdiğiniz linkler gerçekten çok faydalı bilgiler içeriyor. Araştırmaya zaman ayırıp paylaştığınız için teşekkür ederim.
rica ederim.

sizin okyanus kadar katkılarınızın yanında bir damla katkım oldu ise ne mutlu bana. :)
 
Üst