• DİKKAT

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

hata değerlerini süzmek

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,677
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
herkese selamlar, hayırlı ramazanlar

aşağıdaki kodu 2007'de kullanmak için yazdım

sayısal hata değerlerini süzdüremiyorum

yardımlarınızı bekliyorum

Kod:
Sub makrosuz()
ActiveSheet.Range(Cells(1, 1), Cells(Range("A" & [A:A].Rows.Count).End(3).Row, [A1].End(2).Column)).AutoFilter _
Field:=ActiveCell.End(3).Column, Criteria1:=ActiveCell
End Sub



iyi çalışmalar
 

Ekli dosyalar

F sütununda Sayı Filtreleri/Özel Filtre kısmında eşittir seçili iken yandaki kutucuktan #DEĞER! kısmını seçip tamamı tıklayınız.

#DEĞER! içeren satırlar süzülecektir.
 
Ali bey merhaba

aslında ben bu makroyu o dedikleriniz uzun geldiği için yazmıştım

biraz tembel işi yani :)

çalıştığım dosyada bazen 200.000 satır olabiliyor

tiklemektense bu makro daha işime yarar diye düşündüm

formül olan ve aynı sonucu verenleri süzüyor

sayısal hata değerlerini nedense süzmüyor

iyi çalışmalar
 
üstadlar bu konuda fikriniz yok mu?

yardımlarınızı bekliyorum
 
Kod:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim i As Integer
For i = 2 To 5000
If IsNumeric(Cells(i, 6).Value) <> False Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
End Sub
 
Selamlar,

Alternatif olarak aşağıdaki koduda kullanabilirsiniz.

Kod:
Option Explicit
 
Sub SÜZ()
    Dim HATA As Variant, VERİ As String
 
    If IsError(ActiveCell.Value) Then
 
        HATA = ActiveCell.Value
 
        Select Case HATA
            Case CVErr(xlErrDiv0)
                VERİ = "#DIV/0!"
            Case CVErr(xlErrNA)
                VERİ = "#N/A"
            Case CVErr(xlErrName)
                VERİ = "#NAME?"
            Case CVErr(xlErrNull)
                VERİ = "#NULL!"
            Case CVErr(xlErrNum)
                VERİ = "#NUM!"
            Case CVErr(xlErrRef)
                VERİ = "#REF!"
            Case CVErr(xlErrValue)
                VERİ = "#VALUE!"
        End Select
 
    ActiveSheet.Cells.CurrentRegion.AutoFilter Field:=ActiveCell.End(3).Column, Criteria1:=VERİ
 
    Else
 
    On Error Resume Next
 
    If IsDate(ActiveCell) Then
 
    ActiveSheet.Cells.CurrentRegion.AutoFilter Field:=ActiveCell.End(3).Column, Criteria1:=CDate(ActiveCell)
 
    Else
 
    ActiveSheet.Cells.CurrentRegion.AutoFilter Field:=ActiveCell.End(3).Column, Criteria1:=ActiveCell
 
    End If
 
    If Err = 1004 Then
    MsgBox "Bu sütuna filtre uygulayamazsınız!" & vbCrLf & _
    "Lütfen tablonuzun bulunduğu alandan bir hücre seçiniz!", vbExclamation, "Dİkkat !"
    Exit Sub
    End If
 
    On Error GoTo 0
 
    End If
 
    MsgBox "Süzme işlemi tamamlanmıştır.", vbInformation
End Sub
 
Ali bey sizin yazmış olduğunuz kodda istediğimi yapamadım

Korhan bey sizin vermiş olduğunuz kod ,tam benim istediğim gibi

her ikinizede teşekkür ederim, iyi çalışmalar
 
korhan bey iyi günler

tarih formatındaki sayıları süzmüyor

iyi çalışmalar
 
Selamlar,

Üstteki mesajımdaki kodu güncelledim. İncelermisiniz.

Not: Eklediğiniz dosyanın A sütunundaki tarihlerde boşluklar var. Bunları düzeltmelisiniz.
 
Selamlar,

Üstteki mesajımdaki kodu güncelledim. İncelermisiniz.

Not: Eklediğiniz dosyanın A sütunundaki tarihlerde boşluklar var. Bunları düzeltmelisiniz.

üstadım çok sağolun

elleriniz dert görmesin

sadece eklediğim dosya için geçerli değil , başka dosyalarda da aynı hatayı yapmıştı
 
Geri
Üst