if koşulu acil

Katılım
3 Haziran 2005
Mesajlar
38
Excel Vers. ve Dili
11
şu ifade kod ile nasıl yazılır?

Eğer c2 hücresi boş ise 2. sütunu komple sil.

eğer d7 hücresi boş ise 7. sütunu komple sil.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
formulden zıyade sıze makroı ıle bir cozum getirsem ;

sub kolon_sil()
if Cells(2,3).value="" then
Columns("B:B").Select
Selection.ClearContents
end if
if Cells(7,4).value="" then
Columns("g:g").Select
Selection.ClearContents
end if
End sub
 
Katılım
3 Haziran 2005
Mesajlar
38
Excel Vers. ve Dili
11
teşekkür ederim ama bu işlem döngü ile devam edecek şöyle:

b3 boş ise 3.sütunu sil
b5 boş ise 5.sütunu sil
b12 boş ise 12.sütunu sil
b21 boş ise 21.sütunu sil
b34 boş ise 34.sütunu sil
b38 boş ise 38.sütunu sil
.
.
.
 
T

TRABLUS

Misafir
Sayın zeliha hanım, öncelikle sorunuzu .... diyerek uzatıp böyle olacak demişsiniz. Bu noktaların hangi hücreleri ifade ettiğini kimse bilemez.
Ama ben size şöyle yardım etmeye çalışayım.

if Cells(2,3).value="" then

Satırında ki 3 ifadesi sütunu belirtir. Dolayısıyla;

if Cells(2,3).value="" then
Columns("B:B").Select
Selection.ClearContents
end if

Koyu renk ve mavi olan rakamları değiştirerek ve o kod bloğunu her hücreniz için end if'e kadar ayrı ayrı kopyalayarak kendinizde yapabilirsiniz.
 
Katılım
3 Haziran 2005
Mesajlar
38
Excel Vers. ve Dili
11
Yine anlatamadım galiba,
Peki şöyle sorayım:Aşağıdaki komut neden çalışmıyor?

range("b1").select
for h=1 to 1000
if cells(h,2).value="" then
Rows("h:h").Select
Selection.Delete Shift:=xlUp
end if
Next h
 

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
Aşağıdaki gibi düzenlerseniz çalışacaktır. bu tip silme işleminde döngüyü aşağıdan yukarı doğru çalıştırmanız gerekir.

[vb:1:3b62cb5e68]for h=1000 to 1 step-1
if cells(h,2).value="" then Rows(h).Delete
Next h[/vb:1:3b62cb5e68]

Ayrıca rows("h:h") yazım şeklide sabittir yani h değişkenin iki tırnak arasında olduğundan sabit kalır, bunun yerine rows(h) yazmak yeterlidir.
 
Üst