• DİKKAT

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

Yıllık İzin Planı

Katılım
17 Mart 2011
Mesajlar
441
Excel Vers. ve Dili
Office 2019
Merhaba,

İzin planı oluşturma konusunda, iki tarih arasındaki günleri buton yardımıyla, ilgili tarihlere "1" yazarak tanımlayacak bir koda ihtiyacım var. Örnek dosya ve açıklamalar ekte yer alıyor.

Yardımlarınızı rica ediyorum.

Saygılar, selamlar.
 

Ekli dosyalar

Merhaba,

=EĞER(VE(O1>=$I$4;O1<=$J$4);1;EĞER(VE(O1>$I$4;O1<$J$4);0; ))

İlgili hücrelere deneyebilir misiniz ?
 
Merhaba tevfik657, formül sorunsuz çalışıyor, teşekkür ediyorum. Ancak plan dosyasında 500+ personel için 3000+ satır olacak. Bu nedenle fonksiyon kullanmak yerine, makro kullanmak istiyorum.
 
Umarım işinize yarar.
Kod:
Sub işaret()
Dim i As Integer, y As Integer
Dim s1 As Worksheet
Set s1 = Sheets("İzin Planı")
Application.ScreenUpdating = False

son1 = s1.Cells(65536, "H").End(3).Row
son2 = s1.Cells(1, Columns.Count).End(xlToLeft).Column
Range("O4:NO" & Rows.Count).Clear

For y = 4 To son1
For i = 15 To son2
If s1.Cells(y, 9) <= s1.Cells(1, i) And s1.Cells(y, 10) >= s1.Cells(1, i) Then
s1.Cells(y, i) = 1
End If
Next i
Next y
Application.ScreenUpdating = True
MsgBox "İŞLEM TAMAMLANDI", vbInformation, "BİLGİ"
End Sub
 
Umarım işinize yarar.
Kod:
Sub işaret()
Dim i As Integer, y As Integer
Dim s1 As Worksheet
Set s1 = Sheets("İzin Planı")
Application.ScreenUpdating = False

son1 = s1.Cells(65536, "H").End(3).Row
son2 = s1.Cells(1, Columns.Count).End(xlToLeft).Column
Range("O4:NO" & Rows.Count).Clear

For y = 4 To son1
For i = 15 To son2
If s1.Cells(y, 9) <= s1.Cells(1, i) And s1.Cells(y, 10) >= s1.Cells(1, i) Then
s1.Cells(y, i) = 1
End If
Next i
Next y
Application.ScreenUpdating = True
MsgBox "İŞLEM TAMAMLANDI", vbInformation, "BİLGİ"
End Sub
Merhaba sayın çıtır, kod tam istediğim gibi çok teşekkürler. Ufak bir iyileştirme ricam olacak; kodu çalıştırdığımda O4:NO aralığındaki hücre biçimleri siliniyor. Hücre biçimini bozmadan 1 değeri yazabilir miyiz?
 
İlgi kodu
Kod:
Range("O4:NO" & Rows.Count).Clear
Aşağıdaki şekilde değiştiriniz.
Kod:
Range("O4:NO" & Rows.Count).ClearContents
 
Son düzenleme:
Süper oldu. Çok teşekkür ederim sayın çıtır, elinize sağlık.
Seçim yaparken hata olmuş kodu
Kod:
Range("O4:NO" & Rows.Count).ClearContents
şeklinde değiştiriniz.
Dönüş yaptığınız için teşekkür ederim.
 
Sayın çıtır, kodu denedikçe fark ediyorum, sizden bir ricam daha olacak. Kod çalıştığında önce bir önceki kayıtları silmeli, sonra ilgili tarihlere 1 değerini yazmalı. İlginize tekrar teşekkür ediyorum.
 
Sayın çıtır, kodu denedikçe fark ediyorum, sizden bir ricam daha olacak. Kod çalıştığında önce bir önceki kayıtları silmeli, sonra ilgili tarihlere 1 değerini yazmalı. İlginize tekrar teşekkür ediyorum.
#8 Nolu iletideki kodu.İlgili kodla değiştiriniz.Önçeki kayıtları siler ve tekrar yazar.# 8nolu iletiyi okuyunuz.
 
Geri
Üst