• DİKKAT

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

Farklı sayfalarda set kullanım hatası

  • Konbuyu başlatan Konbuyu başlatan kadir78
  • Başlangıç tarihi Başlangıç tarihi

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
Aşağıdaki kodlarda Rapor sayfasindaki a2 hücresini s2 olarak set yaptım fakat işlemi a2 hücresinde olan değere göre yapmıyor. A2 hücresinde ay isimleri var. her ay çalışma sayfası olarak kayıtlıdır. Sayfalar toplam ( rapor , ocak , şubat , vs ) olarak 13 çalışma sayfasıdır.

Kod:
sub makro1()

dim s1, s2 as range, worksheet

set s1 = sheets("rapor")
set s2 = sheets("rapor").range("a2")

s2.range("b4:t500")autofilter field:=2 , criteria1:=">=" & clng (cdate (s1.range("d2"))), operator:=xland, crireria2:="<=" & clng (cdate (s1.range("e2")))

if s1.range("b2") <> empty then
s2.range("b4:t500").autofilter field:=7, criteria1:=s1.range("b2")
End if

if s1.range("c2") <> empty then
s2.range("b4:t500").autofilter field:=7, criteria1:=s1.range("c2")
End if

if s1.range("a7") <> empty then
s2.range("b4:t500").autofilter field:=7, criteria1:=s1.range("a7")
End if

End sub
 
Son düzenleme:
Düzeltme
Kod:
sub makro1()

dim s1, s2 as range, worksheet

set s1 = sheets("rapor")
set s2 = sheets("rapor").range("a2")

s2.range("b4:t500")autofilter field:=2 , criteria1:=">=" & clng (cdate (s1.range("d2"))), operator:=xland, crireria2:="<=" & clng (cdate (s1.range("e2")))

if s1.range("b2") <> empty then
s2.range("b4:t500").autofilter field:=8, criteria1:=s1.range("b2")
End if

if s1.range("c2") <> empty then
s2.range("b4:t500").autofilter field:=9, criteria1:=s1.range("c2")
End if

if s1.range("a7") <> empty then
s2.range("b4:t500").autofilter field:=10, criteria1:=s1.range("a7")
End if

End sub
 
Konu hakkında yardımcı olabilirmisiniz.
 
Merhaba,

İlk olarak tanımlama satırınız hatalı...

dim s1, s2 as range, worksheet


Bu şekilde olmalı..

Dim S1 As Worksheet, S2 As Worksheet


Setleme işlemini de aşağıdaki gibi yapmalısınız.

Set S1 = Sheets("rapor")
Set S2 = Sheets(S1.Range("A2").Text)
 
Korhan hocam çok teşekkür ederim. Allah razı olsun. Elinize emeğinize sağlık olsun inşallah.
 
Geri
Üst