- Katılım
- 1 Ekim 2017
- Mesajlar
- 694
- Excel Vers. ve Dili
- 2019 türkçe
- Altın Üyelik Bitiş Tarihi
- 06/10/2023
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhaba Ömer beyMerhaba.
Anladığım kadarıyla;
-- kişi VEKİL ise sadece İZİN tarihlerine V yazdırmak, diğer günleri boş bırakmak,
-- kişi ASİL ise izin günlerine İ, diğer günlere X yazdırmak,
istiyorsunuz. Doğru mudur?
Yapılacak başka bir işlem veya özel durum (başka sayfalarda yapılacak kontrol gibi) var mıdır?
Bir hatırlatma: AL sütunundaki formülünüzün G sütununu kapsamadığının farkında mısınız?
Formülünüz hatalı mı yoksa bundan bir maksatınız mı var?
Örnek belgenizin çok büyük veri yığını içermesine lüzum yok.
Özel durumlar (farklı işleme tabi tutulma) varsa, bu özel durumların örneklendirilmesi ve
hangi durumda hangi işlemin yapılacağını açıklamanız yeterli olur.
.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim son As Long: son = Sheets("PUANTAJ").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("PUANTAJ").Range("G16:AK" & son).ClearContents
If Application.WorksheetFunction.Count(Sheets("PUANTAJ").Range("Am16:Am" & son)) <> _
Application.WorksheetFunction.Count(Sheets("PUANTAJ").Range("An16:An" & son)) Then
MsgBox "İzin Tarihleri Başlangıç ve Bitiş tarihi olarak bulunmalıdır, BOŞ bırakılan tarih var!!!"
Exit Sub
End If
With Sheets("PUANTAJ").Range("G16:AK" & son)
.Formula = "=IF(AND($D16=""VEKİL"",OR($AM16>G$15,$AN16<G$15)),""""," & _
"IF(AND($D16=""VEKİL"",OR($AM16<=G$15,$AN16>=G$15)),""V""," & _
"IF(AND($D16=""VEKİL"",OR($AM16>G$15,$AN16<G$15)),""""," & _
"IF(AND($D16=""ASİL"",$AM16<=G$15,$AN16>=G$15),""İ"",""X""))))"
.Value = .Value
End With
Application.ScreenUpdating = True
End Sub
Dosyanız eklidir.İyi çalışmalar. ekte gönderdiğim dosyamda puantaj sayfamda bulunan hesaplama butonu çok ağır çalışıyor. Bir kaç kere aktar kaydettikten sonra doğru bilgiler geliyor. yardımcı olursanız çok sevinirim.
Abi teşekkür ederim ilginiz için.Son cevabınızdaki 4 numaralı maddeyi anlamadım.
Diğer isteklerinizin karşılığı olarak aşağıdaki şekilde hızlıca sonuç alabilirsiniz.
PUANTAJ sayfasında mevcut verilere göre, kullandığınız kod'u aşağıdakiyle değiştirin.
Rich (BB code):Private Sub CommandButton1_Click() Application.ScreenUpdating = False Dim son As Long: son = Sheets("PUANTAJ").Cells(Rows.Count, 1).End(xlUp).Row Sheets("PUANTAJ").Range("G16:AK" & son).ClearContents If Application.WorksheetFunction.Count(Sheets("PUANTAJ").Range("Am16:Am" & son)) <> _ Application.WorksheetFunction.Count(Sheets("PUANTAJ").Range("An16:An" & son)) Then MsgBox "İzin Tarihleri Başlangıç ve Bitiş tarihi olarak bulunmalıdır, BOŞ bırakılan tarih var!!!" Exit Sub End If With Sheets("PUANTAJ").Range("G16:AK" & son) .Formula = "=IF(AND($D16=""VEKİL"",OR($AM16>G$15,$AN16<G$15)),""""," & _ "IF(AND($D16=""VEKİL"",OR($AM16<=G$15,$AN16>=G$15)),""V""," & _ "IF(AND($D16=""VEKİL"",OR($AM16>G$15,$AN16<G$15)),""""," & _ "IF(AND($D16=""ASİL"",$AM16<=G$15,$AN16>=G$15),""İ"",""X""))))" .Value = .Value End With Application.ScreenUpdating = True End Sub