• DİKKAT

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

Ay Sütunu oluşturmak

misirkafa

Altın Üye
Katılım
31 Ekim 2018
Mesajlar
16
Excel Vers. ve Dili
2013-Türkçe
Selamlar
yapmak istediğim E sütunundaki tarih sütunundan ay(month) formülü ile A sütununa çektiğim ay bilgilerini makro ile yapabilmek.

muavin kayıtlarını yapıştırdıktan sonra bunu yaptığım için satır sayısı değişebiliyor. 10 bin de olabilir 150 bin de.

sonra da bunun üzerinden başka işlemler yaptırmak istiyorum ancak yazabildiğim kod saniyede 1 hücreye ancak veri yazabiliyor.
bunu hızlandırmanın bir yolu var mıdır ?
veya daha efektif bir kod önerirseniz memnun olurum.

Kod:
Sub ay_kolonu()
a = Application.WorksheetFunction.CountA(Range("E:E")) + 2
For i = 2 To a
Cells(i, 1) = month(Cells(i, 5))
Next i
End Sub
 
Selamlar
yapmak istediğim E sütunundaki tarih sütunundan ay(month) formülü ile A sütununa çektiğim ay bilgilerini makro ile yapabilmek.

muavin kayıtlarını yapıştırdıktan sonra bunu yaptığım için satır sayısı değişebiliyor. 10 bin de olabilir 150 bin de.

sonra da bunun üzerinden başka işlemler yaptırmak istiyorum ancak yazabildiğim kod saniyede 1 hücreye ancak veri yazabiliyor.
bunu hızlandırmanın bir yolu var mıdır ?
veya daha efektif bir kod önerirseniz memnun olurum.

Kod:
Sub ay_kolonu()
a = Application.WorksheetFunction.CountA(Range("E:E")) + 2
For i = 2 To a
Cells(i, 1) = month(Cells(i, 5))
Next i
End Sub

Bu şekilde dener misiniz,

Kod:
Sub ay_kolonu()
Dim LastRow As Long, i As Long
LastRow = Cells(Rows.Count, "E").End(xlUp).Row
For i = 2 To LastRow
Cells(i, 1) = Month(Cells(i, 5))
Next i

End Sub
 
Aşağıdaki kodu ilgili sayfanın kod bölümüne yapıştırırsanız E sütununa tarih girdiğinizde A sütununa kaçıncı ay olduğunu yazar:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E:E")) Is Nothing Then Exit Sub
If Selection.Count > 1 Then Exit Sub
If IsDate(Target) = True Then
    Target.Offset(0, -4) = Month(Target)
ElseIf Target = "" Then
    Target.Offset(0, -4) = ""
End If
End Sub
 
Teşekkürler hızlı cevaplar için ancak Tamer Bey'in kodu daha kullanışlı benim için. çünkü verileri ben girmiyorum. hazır muavini alıp ay kolonunu bir seferde hesaplatmam gerekiyor. ikinci kodu da kullanacağım bir zaman gelecektir muhakkak.
 
Geri
Üst