• DİKKAT

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

filtre varsa kayıt yapma...

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
558
Excel Vers. ve Dili
Office 2024 Türkçe
Merhaba,
Bir makrom var. A sayfasındaki bilgileri B sayfasına kaydettiğim basit bir makro.
Yapmak istediğim şey eğer B sayfasında herhangi bir sütunda uygulanmış bir filtre varsa, kaydet düğmesine bastığımda "B sayfasında filtrelenmiş bir kolon var, kayıt yapamam" uyarısı versin ve kayıt yapmasın.
Örnek dosyam ektedir.
Yardımcı olur musunuz?
 

Ekli dosyalar

Son düzenleme:
Merhaba
Örnek dosyanızı görme imkanım yok ama istediğiniz şöyle olabilir.
("A" sütununda boş hücre olmadığını varsayarak)
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
If WorksheetFunction.CountA([COLOR="Red"][A:A][/COLOR]) <> _
 ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Rows.Count Then
 MsgBox "B sayfasında filtrelenmiş bir kolon var, kayıt yapamam"
 Exit Sub
 End If
 '....
 '......diğer kodlarınız
 '
 
End Sub [/SIZE]
 
Sayın Plint,
verdiğiniz kodları uyguladım ancak filtre olsa da olmasa da kayıt yapamam mesajını veriyor.
fotoğrafları görebiliyor musunuz bilmiyorum ancak belki görebilirsiniz diye ekledim.
Kodlar şu şekilde:

Sub KAYIT()
'
' KAYIT Makro
'

'
If WorksheetFunction.CountA([A:A]) <> _
ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Rows.Count Then
MsgBox "B sayfasında filtrelenmiş bir kolon var, kayıt yapamam"
Exit Sub
End If
Range("J6").Select
Selection.Copy
Sheets("B").Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("A").Select
Range("K6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("B").Select
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("A").Select
Application.CutCopyMode = False
Range("J5").Select
End Sub
 

Ekli dosyalar

  • 1.jpg
    1.jpg
    13.9 KB · Görüntüleme: 0
  • 2.jpg
    2.jpg
    8 KB · Görüntüleme: 0
Alttaki kodları bir butona ekleyip test edebilirsiniz filtre varmı yokmu.
Sonuca göre gerekli if şartları yazılır koda.

If ActiveSheet.FilterMode = True Then msgbox("filtre var")

If ActiveSheet.FilterMode = False Then msgbox("filtre yok")
 
Sayın Plint, Sayın Feraz,
Sayın Feraz'ın kodlarını kendime uyarlayabildim.
Yardımlarınız için teşekkür ederim.
Saygılar,
 
Uyarladığınız kodları yada excel sheet i paylaşabilirseniz memnun olurum.

Saygılar
 
Buyrunuz.
B sayfasındaki filtreyi açarsanız A sayfasından kayıt yapar.
Açmazsanız uyarı vererek yapmaz.
 

Ekli dosyalar

Rica ederim.
 
Geri
Üst