Boş yada değeri sıfır olan hücrenin gizlenmesi

Katılım
5 Aralık 2006
Mesajlar
45
Excel Vers. ve Dili
office 2003
Merhabalar;
Benim sorunum ekteki dosyada bulunan Rapor sayfasına girdiğimde A sütünundaki içeriği boş olan yada 0(sıfır) olan satırların gizlenmesi, bu gizliliğin sayfadan çıktığımda kalkması lazımki tekrar veri girişine izin versin.
iyi çalışmalar
 

Ekli dosyalar

Son düzenleme:
Katılım
23 Nisan 2005
Mesajlar
34
Excel Vers. ve Dili
Office 2010-2016
Altın Üyelik Bitiş Tarihi
07.05.2018
Makro ile gizle-göster

merhaba,

Ekli dosyaya iki adet makro ekledim. 1. makro A sutunundaki sıfır olan hücreleri gizliyor.
2. makro ise dosya tekradan açıldığında otomatik olarak gizlenen hücreleri tekrardan gösteriyor.
Umarım işinizi görür.
 

Ekli dosyalar

Katılım
5 Aralık 2006
Mesajlar
45
Excel Vers. ve Dili
office 2003
İlginize eşekkür ederim, fakat ben im istediğim olay modül üzerinde değilde,
sayfa üzerinde yazılacak bir kod gibi düşünmüştüm. yani ven Rapor sayfasına geçtiğimde kod çalışıp 0 olan hücreleri gizleyecek, diğer sayfalara geçtiğimde ise o gizli satırları açacak, olurda satırları gizli özelliğinden kurtarmayı unutursam gireceğim veriler rapor sayfasına işlenmemiş olacaklar bunun önüne geçebilmek için böyle bir olay varmıdır?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu işlemi formülle mi yoksa makroyla mı yapmak istiyorsunuz ?

.
 
Katılım
5 Aralık 2006
Mesajlar
45
Excel Vers. ve Dili
office 2003
Merhaba,
Bu işlem için kullanışlı olacak olan hangisi ise tercihim o yönde olacaktır, liste tam anlamı ile kullanılmaya başlandığında dosyanın boyutu büyüyeceği için yavaşlamasını istemiyorum.Fakat her iki şeklinide öğrenmek isterim.
İlginiz için teşekkür ederim.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Rapor sayfasının kod bölümüne kopyalayınız. Rapor sayfasına geçiş yaptığınızda kod çalışacaktır. Aynı işlemi rapor sayfasında butona bağlayarakta yapabilirsiniz.

Formülle olanıda birazdan hazırlayıp eklerim.

Kod:
Option Explicit
 
Private Sub Worksheet_Activate()
 
Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet
Dim sat As Long, i As Long
 
Application.ScreenUpdating = False
 
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set s3 = Sheets("Sayfa3")
 
Range("A3:L65536").ClearContents
 
sat = 2
For i = 2 To s1.[A65536].End(3).Row
    If s1.Cells(i, "a") <> "" Then
        sat = sat + 1
        Range("A" & sat & ":D" & sat) = s1.Range("A" & i & ":D" & i).Value
    End If
Next i
 
For i = 3 To [A65536].End(3).Row
    If WorksheetFunction.CountIf(s2.Range("A:A"), Cells(i, "a")) <> 0 Then
        Cells(i, "f") = WorksheetFunction.VLookup(Cells(i, "a"), s2.Range("A:D"), 3, 0)
        Cells(i, "g") = WorksheetFunction.VLookup(Cells(i, "a"), s2.Range("A:D"), 4, 0)
    End If
 
    If WorksheetFunction.CountIf(s3.Range("A:A"), Cells(i, "a")) <> 0 Then
        Cells(i, "ı") = WorksheetFunction.VLookup(Cells(i, "a"), s3.Range("A:D"), 3, 0)
        Cells(i, "j") = WorksheetFunction.VLookup(Cells(i, "a"), s3.Range("A:D"), 4, 0)
    End If
 
    Cells(i, "k").FormulaR1C1 = "=SUM(RC[-8],RC[-5],RC[-2])"
    Cells(i, "l").FormulaR1C1 = "=SUM(RC[-8],RC[-5],RC[-2])"
 
Next i
Application.ScreenUpdating = True
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Ekteki tabloda formül ile yapılanı bulabilirsiniz.

İyi çalışmalar..

.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Alternatif dosyaınız ektedir.:cool:
Kod:
Sub gizle()
Dim sat As Long, i As Long, say As Integer, sh As Worksheet
Set sh = Sheets("Rapor")
sat = sh.Cells(65536, "A").End(xlUp).Row
Application.ScreenUpdating = False
For i = 3 To sat
    say = WorksheetFunction.CountBlank(sh.Cells(i, "A")) + _
    WorksheetFunction.CountIf(sh.Cells(i, "A"), 0)
    If say > 0 Then Rows(i).Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
Sub goster()
Dim sat As Long, i As Long, say As Integer, sh As Worksheet
Set sh = Sheets("Rapor")
Application.ScreenUpdating = False
sh.Rows("3:65536").Hidden = False
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Katılım
5 Aralık 2006
Mesajlar
45
Excel Vers. ve Dili
office 2003
Emeklerinize sağlık,
yalnız Evren Bey, sizin göndermiş olduğunuz kodda rapor sayfası B sütununda veri olduğu takdirde A sutunundaki 0 ibaresini dikkate almıyor. diğer türlü evet kullanışlı..
Ömer Bey, her iki çalışmanız da çok güzel, makrolar tamamı ile formülden arındırmış sayfayı ki olası değişikliklere karşı korunması çok daha güzel. Benim kod istememdeki amaç daha maro düzeyine çıkamadığım için konuyu kavrayabilmekti çünkü gelebildiğim nokta daha ancak göndermiş olduğum örnek çalışmadan ibaret. Sizden bir çalışma daha istesem, Rapor Sayfası A1 sütünu yada Sayfa1 deki A1 sütununa aynı veri 2. kez girildiği zaman bunu renkli olarak bloklayabilirmiyiz. kullanıcının dikkatini çekebilmek amacı ile, ve bir adım daha ileri gitmek gerekirse kod iki sefer dahi yazılmış olsa rapor sayfasına alırken o sayfadaki ikisi yada daha fazlasını (aynı kodu baz alarak) toplayarak rapor sayfasına tek kalemde geçme imkanı olabilirmi? (umarım anlatabilmişimdir)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Emeklerinize sağlık,
yalnız Evren Bey, sizin göndermiş olduğunuz kodda rapor sayfası B sütununda veri olduğu takdirde A sutunundaki 0 ibaresini dikkate almıyor. diğer türlü evet
Ben tüm satırı kontrol ediyordum
Şimdi yalnızca a sütununu göre düzenledim.
Yanlış anlamışım.
Dosyayı 8 numaralı mesajda güncelledim.:cool:
 
Katılım
5 Aralık 2006
Mesajlar
45
Excel Vers. ve Dili
office 2003
Teşekkür ederim,
bende kodları incelemeye çalışıyordum da.. Daha almam gereken çok uzun bir yol olduğunun farkına varıyorum. Emeğinize sağlık
 
Katılım
9 Haziran 2009
Mesajlar
11
Excel Vers. ve Dili
2003-2007
Sayın ömer bey bende makrodan anlamıyorum. Ancak kurduğunuz formülü kullanmakla beraber benim ricam sizden mümkünse rapor sayfasında depo miktarı sıfır olan malzemenin bulunduğu satır gizlensin ne zaman o malzeme artı olursa o zaman görünsün. Çünkü ben 256 kalem malzemenin raporunu aldığım zaman depo sıfır olmasına rağmen çok yer kaplayarak kağıt israfı oluşturuyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Rapor sayfasındaki K sütununda sıfır olan satırımı gizlemek istiyorsunuz..

.
 
Üst