• DİKKAT

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

makroda hücredeki =bugün() tarihi neden dikkate almaz

Katılım
11 Nisan 2008
Mesajlar
222
Excel Vers. ve Dili
Microsoft Office Excel 2013 / Türkçe
Üsdatlar S.A

aşağıdaki makroda K2 hücresindeki =bugün() foksiyonu tarih olarak algılamıyor sebebi ne olabilr.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim BUL As Range, İlk_Satır As Long, Son_Satır As Long

If Intersect(Target, Range("K2")) Is Nothing Then Exit Sub
If Target <> "" Then
Set BUL = Range("A:A").Find(Target, , , xlWhole)
If Not BUL Is Nothing Then
İlk_Satır = BUL.Row
Son_Satır = WorksheetFunction.CountIf(Range("A:A"), Target) + İlk_Satır - 1
ActiveSheet.PageSetup.PrintArea = "A" & İlk_Satır & ":H" & Son_Satır
Set BUL = Nothing
End If
End If
End Sub
 
Formül içeren hücreleri, "değerler" seçeneğiyle aranması gerekir.
Aşağıda gerekli ilave koyu fonttadır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim BUL As Range, İlk_Satır As Long, Son_Satır As Long

If Intersect(Target, Range("K2")) Is Nothing Then Exit Sub
If Target <> "" Then
    Set BUL = Range("A:A").Find(Target, , [COLOR=Blue][B]xlValues[/B][/COLOR], xlWhole)
    If Not BUL Is Nothing Then
        İlk_Satır = BUL.Row
        Son_Satır = WorksheetFunction.CountIf(Range("A:A"), Target) + İlk_Satır - 1
        ActiveSheet.PageSetup.PrintArea = "A" & İlk_Satır & ":H" & Son_Satır
        Set BUL = Nothing
    End If
End If
End Sub
 
Zeki bey aşağıdaki eklemeyı yaptım ama değişen birşey benim gözden kaçırdığım veya ayar yapmadığım ne olabilir ?


Formül içeren hücreleri, "değerler" seçeneğiyle aranması gerekir.
Aşağıda gerekli ilave koyu fonttadır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim BUL As Range, İlk_Satır As Long, Son_Satır As Long

If Intersect(Target, Range("K2")) Is Nothing Then Exit Sub
If Target <> "" Then
    Set BUL = Range("A:A").Find(Target, , [COLOR=Blue][B]xlValues[/B][/COLOR], xlWhole)
    If Not BUL Is Nothing Then
        İlk_Satır = BUL.Row
        Son_Satır = WorksheetFunction.CountIf(Range("A:A"), Target) + İlk_Satır - 1
        ActiveSheet.PageSetup.PrintArea = "A" & İlk_Satır & ":H" & Son_Satır
        Set BUL = Nothing
    End If
End If
End Sub
 
Üsdatlar S.A

aşağıdaki konu hakkında fikir veya öneri sunacak üsdatlar yardım bekliyorum.

Zeki bey aşağıdaki eklemeyı yaptım ama değişen birşey benim gözden kaçırdığım veya ayar yapmadığım ne olabilir ?
 
Merhaba,

"Set..." ile başlayan satırı aşağıdaki gibi değiştirip denermisiniz.

Kod:
Set BUL = Range("A:A").Find(CDate(Target))
 
Merhaba,

Eklediğiniz dosyayı 2003 ve 2010 versiyonlarda denedim. Sorun çıkarmadan çalıştı.
 
Korhan bey

incelemeleriz için teşekkür ederim. Dosyayı 2 ayrı yerde açtığım zaman çalışmadı acaba eksik yaptığım office ayarı varmıdır.



Merhaba,

Eklediğiniz dosyayı 2003 ve 2010 versiyonlarda denedim. Sorun çıkarmadan çalıştı.
 
Merhaba,

Dosyanızı 2003 formatında kayıt ettim. Daha sonra kısayolunu başka bilgisayara kopyaladım.
İlk önce dosyayı ben açtım. Tarih hücresine girip çıktım ve kod olumlu sonuç verdi.
Bende açıkken diğer bilgisayarda açtım. Salt okunur uyarısı verdi. Salt okunur aç diyerek işleme devam ettim.
Sonra tarih hücresine girip çıktım. Makro burada da sonuç verdi.
 
Korhan bey,

size göndermiş olduğum dosya 1 sheet den oluşuyor asıl dosyada birden fazla sheet den oluşuyor ve içlerinde makrolar ve foksiyonlar var acaba onların etkisi olabilir mi ?

Merhaba,

Dosyanızı 2003 formatında kayıt ettim. Daha sonra kısayolunu başka bilgisayara kopyaladım.
İlk önce dosyayı ben açtım. Tarih hücresine girip çıktım ve kod olumlu sonuç verdi.
Bende açıkken diğer bilgisayarda açtım. Salt okunur uyarısı verdi. Salt okunur aç diyerek işleme devam ettim.
Sonra tarih hücresine girip çıktım. Makro burada da sonuç verdi.
 
Merhaba,

Bilemiyorum. Deneyerek yorum yapabilirim.
 
Gönderin ve dosyayı nasıl kullandığınızı açıklayın.
 
Merhaba,

Özelden yolladığınız dosyanızda da kod sorunsuz çalıştı.

Siz hangi versiyonu kullanıyorsunuz?
 
Saygı Değer KORHAN beyin katkılarıyla aşağıdaki makro ile dosyamız =bugün() formulu ile çalışmıştır. Korhan beyin ısrarcı çözüm odaklı çalışmasından dolayı teşekkür ederim.

---------------------------

Option Explicit

Private Sub Worksheet_Activate()
Dim BUL As Range, İlk_Satır As Long, Son_Satır As Long

Set BUL = Range("A:A").Find(Range("I2"), , xlFormulas, xlPart)
If Not BUL Is Nothing Then
İlk_Satır = BUL.Row
Son_Satır = WorksheetFunction.CountIf(Range("A:A"), Range("I2")) + İlk_Satır - 1
ActiveSheet.PageSetup.PrintArea = "A" & İlk_Satır & ":G" & Son_Satır
Set BUL = Nothing
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim BUL As Range, İlk_Satır As Long, Son_Satır As Long

'If Intersect(Target, Range("I2")) Is Nothing Then Exit Sub
If Range("I2") <> "" Then
Set BUL = Range("A:A").Find(CDate(Range("I2")))
If Not BUL Is Nothing Then
İlk_Satır = BUL.Row
Son_Satır = WorksheetFunction.CountIf(Range("A:A"), Range("I2")) + İlk_Satır - 1
ActiveSheet.PageSetup.PrintArea = "A" & İlk_Satır & ":G" & Son_Satır
Set BUL = Nothing
End If
End If
End Sub


---------------------------




office 2010 64 bit
 
Geri
Üst