• DİKKAT

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

Evet Hayır seçeneğine göre silme ve gizleme

  • Konbuyu başlatan Konbuyu başlatan 17bn57
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Ocak 2007
Mesajlar
47
Excel Vers. ve Dili
office xp kullanıyorum
Öncelikle herkese iyi günler iyi çalışmalar diliyorum. aşağıdaki kodu seçili alanları silmek ve gizlemek için kullanıyorum. ancak yanlışlıkla bastığım zaman tüm çalışmalarımın gitme durumu var bi nedenle evet hayır seçenekli olarak düzenleye bilirmiyiz acaba
Sub Temizle()
Range("R11:BC609").ClearContents 'silme işlemi bu kodla yapılıyor.
Dim Hucreler As Range 'gizleme işlemi bu kodla yapılıyor
For Each Hucreler In Range("s9:bc9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
End If
Next Hucreler
End Sub
mesaj penceresinde evete tıkladığımda hem silsin hem gizlesin
hayıra tıkladığımda sadece gizlesin.
 
cvp = MsgBox("Silinsin mi", vbYesNo + vbQuestion)
If cvp = vbYes Then
Range("R11:BC609").ClearContents 'silme işlemi bu kodla yapılıyor.
Dim Hucreler As Range 'gizleme işlemi bu kodla yapılıyor
For Each Hucreler In Range("s9:bc9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
End If
Next Hucreler

Else
Exit Sub

End If
 
Sayın Trilenium teşekkür ederim. ama hayır tuşuna bastığımda yalnızca gizlemesini istiyorum. ben bunu yapamadıydım. bu konu hakkında da yardımcı olursanız sevinirim.
 
Sayın Trilenium un yazdığı kodlardan aşağıda ki parçayı; Else den sonra ki Exit Sub yazısını silerek, yerine yazınız.
If cvp = vbYes Then
..................
..................
..................
Else
For Each Hucreler In Range("s9:bc9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
Next Hucreler
End If
End Sub
 
compile error
Block İf withoudend if
hatası veriyor If cvp = vbYes Then kodunu yazdığımda
 
arkadaşlar hata konusunda yardımcı olabilecek varmı acaba
 
Sub Temizle()

cvp = MsgBox("Silinsin mi", vbYesNo + vbQuestion)
If cvp = vbYes Then
Range("R11:BC609").ClearContents 'silme işlemi bu kodla yapılıyor.
Dim Hucreler As Range 'gizleme işlemi bu kodla yapılıyor
For Each Hucreler In Range("s9:bc9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
End If
Next Hucreler

Else

For Each Hucreler In Range("s9:bc9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
Next Hucreler
End If
End Sub

yukarıdaki kodu yazıyorum ama bu sefer
compile error
nextwithoud for hatası alıyoum bunu nasıl engellerim.
 
Sayın 17bn57;
Bu hata kodu şu demektir:
if ... then
......
else
....
end if
şeklinde ki kalıba dikkat et, bu hiyerarşik yapı içinde bir yerlerde hata var demektir.
Türkçesi:
eğer ....... ise
.......
değilse
.....
eğer sonu
bu mantıksal kalıba göre aralara dilediğinizi yazın.
Bu açıklama hala size ağır geliyorsa, makrolardan ziyade, excel formülleri kullanarak çalışmalısınız.
Kolay gelsin.
 
Sayın antonio 7. mesajımı kontrol ederseniz bahsettiğiniz kalıba göre yazdım kodu ancak hataverdi. ama buldum sorunu yinede teşekkür ederim. ancak bir konuda sitem ediyorum. son mesajınızdaki
Bu açıklama hala size ağır geliyorsa, makrolardan ziyade, excel formülleri kullanarak çalışmalısınız.
cümlesi uygun bir cümle değildir. çünkü ben silme ve gizleme işlemi yapabilen bir formül bilmiyorum. varsa da öğrenmek isterim. formülleri iyi derecede bildiğimi düşünüyorum ve şuan makro öğrenmeye çalışıyorum. teşekkür ederim
 
arkadaşlar aşağıdaki kod şuan sayfa1 de c9:q9 arasında boş hücrelere ait sütunları gizliyor. Tek bir butona atadığım da sayfa1 (C9:Q9), sayfa2 (D9:R9) Sayfa3 (E9:S9) arasındaki boş hücrelere ait sütunlarıda gizlemek istiyorum. Buna göre koda nasıl bir ekleme yada düzenleme yapabiliriz acaba yardımcı olursanız sevinirim.
Sub Temizle()

cvp = MsgBox("Silmek İstiyorsanız Evet' e Basın, Sadece Gizlemek İstiyorsanız Hayır'a Basın", vbYesNo + vbQuestion)
If cvp = vbYes Then
Range("R11:BC609").ClearContents 'silme işlemi bu kodla yapılıyor.
Dim Hucreler As Range 'gizleme işlemi bu kodla yapılıyor
For Each Hucreler In Range("c9:q9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
End If
Next Hucreler

Else
For Each Hucreler In Range("c9:q9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
End If
Next Hucreler
End If

End Sub
 
Son düzenleme:
arkadaşlar sayın ustalar yardımcı olabilecek kimse yokmu acaba lütfen yardımcı olun
 
cvp = MsgBox("Silinsin mi", vbYesNo + vbQuestion)
If cvp = vbYes Then
Range("R11:BC609").ClearContents 'silme işlemi bu kodla yapılıyor.
Dim Hucreler As Range 'gizleme işlemi bu kodla yapılıyor
For Each Hucreler In Range("s9:bc9")
If Hucreler.Value = "" Or Hucreler.Value = " " Or Hucreler.Value = 0 Then
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden
End If
Next Hucreler

Else
Hucreler.EntireColumn.Hidden = Not Hucreler.EntireColumn.Hidden ' Hayır bastıgında sadece hücreleri gizleyecek

End If
 
Geri
Üst