• DİKKAT

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

Kulanıcı tanımlı foksiyonla satır gizlemek

Katılım
3 Mart 2009
Mesajlar
519
Excel Vers. ve Dili
excel 2003 tr
Kulanıcı tanımlı foksiyonla satır gizlemek mümkünmüdür ?
Bu kodu yazdığımda excel hata verip kapanıyor nedendir?

Public Function GZ(Başvuru)
Application.Volatile
If Başvuru = "GZL" Then
GZ = EntireRow.Hidden = True
ElseIf Not Başvuru = "GZL" Then
GZ = EntireRow.Hidden = False
End If
End Function
 
Merhaba,

Bu fonksiyonun çalışması için iki şart gerekli.

- Gizlenecek satır için referans gerekli. Ör: Range("E5").EntireRow.Hidden = True
Bu, E5 hücresinin olduğu satırı gizle demektir.

- Bu fonksiyonu hücreye "=" ile yazarsanız çalışmaz. Bir buton yardımıyla çalıştırmanız gerekir.
 
Merhaba,

Bu fonksiyonun çalışması için iki şart gerekli.

- Gizlenecek satır için referans gerekli. Ör: Range("E5").EntireRow.Hidden = True
Bu, E5 hücresinin olduğu satırı gizle demektir.

- Bu fonksiyonu hücreye "=" ile yazarsanız çalışmaz. Bir buton yardımıyla çalıştırmanız gerekir.

Formülün bulunduğu hücreyi referans gösteremezmiyiz
örnek
Range(Row.()).EntireRow.Hidden = True
gibi.
 
Merhaba
Böyle bir ktf olur mu? olur.

Ancak mantığına aykırı olur, kullanım amacının dışına çıkar.
Kullanıcı Tanımlı Fonksiyon, yani yerleşik fonksiyonlar gibi kendi fonksiyonunuzu yazıyorsunuz demektir.
Çatal ile çorba içmeye benzer. Çatalın işlevinin dışında bir iş yaptırmak gibidir.
Ktf yerine normal bir makro kodu yazmak daha doğru olur.
 
Merhaba
Böyle bir ktf olur mu? olur.

Ancak mantığına aykırı olur, kullanım amacının dışına çıkar.
Kullanıcı Tanımlı Fonksiyon, yani yerleşik fonksiyonlar gibi kendi fonksiyonunuzu yazıyorsunuz demektir.
Çatal ile çorba içmeye benzer. Çatalın işlevinin dışında bir iş yaptırmak gibidir.
Ktf yerine normal bir makro kodu yazmak daha doğru olur.

Biliyorum ama ne yapma lazım! altaki kodla tüm sayfalardaki V sütünu içindeki GZL yazan veya formülle değer gelen satırları gizliyor veya gösteriyorum,
fakat 1500 satır var ve bunungibi 14 sayfa daha var excel cok fazla kasıyor nasıl bir çözüm bulabiliriz?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Columns(22).EntireRow.Hidden = False
Set Aralik = Range("V10:V" & [V1500:V1500].End(3).row)
Set bul = Aralik.Find("GZL", LookIn:=xlValues, lookat:=xlWhole)
If Not bul Is Nothing Then
adres = bul.Address
Do
Set bul = Aralik.FindNext(bul)
bul.EntireRow.Hidden = True
Loop While Not bul Is Nothing And bul.Address <> adres
'MsgBox "İŞLEM BİTTİ.", vbInformation, "PEGEM MÜHENDİSLİK"
End If
End Sub
 
Merhaba,

14 Sayfa x 1500 Satır gizleme işlemi yapmak pek mantıklı değil. Bunun yerine filtreleme yaparsanız saniyeler içinde sonuca gidebilirsiniz.

Aşağıdaki kodu kendinize göre düzenleyiniz.

Kod:
Sub SATIRLARI_GİZLE()
    Dim Sayfa As Worksheet
    
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Range("V10") <> "" Then
            Sayfa.Range("A10").AutoFilter Field:=22, Criteria1:="<>GZL"
        End If
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Geri
Üst