• DİKKAT

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

Tarihi yıl ve ay olarak ayırabilmek

  • Konbuyu başlatan Konbuyu başlatan simtaş
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Şubat 2008
Mesajlar
10
Excel Vers. ve Dili
ofis 2003
İyi akşamlar
A sütünuna girdiğim tarihin B sütünuna yılı,C sütününa ayı makro veya VBA ile yazdırmak istiyorum.
 

Ekli dosyalar

Merhaba,

Kodları dener misiniz?

Kod:
Option Base 1
Sub TarihCevir()
Dim i As Long
Aylar = Array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık")
Application.ScreenUpdating = False
Range("B5:C65536").ClearContents
For i = 5 To [A65536].End(3).Row
    Cells(i, "B") = Year(Cells(i, "A"))
    Cells(i, "C") = Aylar(Month(Cells(i, "A")))
Next i
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Selamlar,

Sadece hücrelerin FORMAT ayarlarını değiştirerek makro yazdım. Formda buna benzer sayısız örnek mevcuttur detaylı arama yaparsanız farklı metodlarlada karşılaşırsınız. Kolay gelsin.
Kod:
Option Explicit
Sub tarih()
    Dim U As Long
    For U = 1 To 100
    If Cells(U, 1).NumberFormat = "m/d/yyyy" Then
    Range(Cells(U, 2), Cells(U, 3)).Value = Cells(U, 1).Value
    Cells(U, 2).NumberFormat = "yyyy"
    Cells(U, 3).NumberFormat = "dddd"
    Else:
    End If
    Next
End Sub
 
Valla Necdet Hocam erken davranmış ben soruyu yanıtladığınızı görmedim ellerinize sağlık hocam.
 
Valla Necdet Hocam erken davranmış ben soruyu yanıtladığınızı görmedim ellerinize sağlık hocam.

Bende sizi alternatif çözüm ürettiğiniz için kutlarım. Açıkcası ben hangi yöntemi uygulayım diye karar veremedim, öz VBA olsun istedim :)

Sizin yönteminizde döngüyü de kaldırmak olası

Kod:
Sub YilAy()
Dim i As Long
i = [A65536].End(3).Row
Range("A5:A" & i).Copy Range("B5:C" & i)
Range("B5:B" & i).NumberFormat = "yyyy"
Range("C5:C" & i).NumberFormat = "mmmm"
End Sub
 
Değerli hocalarım emeğinize sağlık,cok teşekkür ederim.
 
Sayın Necdet Yeşertener; A sütünunda arada boş hücre kaldığında B sütünunda 1899, C sütununda Aralık değeri yazıyor. Oysa,A sütünu boşşa B ve C sütünlarının boş kalması mümkün mü?
 
Merhaba,

Mesaj gözümden kaçmış, geç yanıt verdim, özür dilerim.
Kodlara küçük bir ekle sorununuz çözülür. A hücresi tarihse işlemi devam ettir demek istedim.

Kod:
Option Base 1
Sub TarihCevir()
Dim i As Long
Aylar = Array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık")
Application.ScreenUpdating = False
Range("B5:C65536").ClearContents
For i = 5 To [A65536].End(3).Row
   [B][COLOR=red] If IsDate(Cells(i, "A")) = True Then[/COLOR][/B]
        Cells(i, "B") = Year(Cells(i, "A"))
        Cells(i, "C") = Aylar(Month(Cells(i, "A")))
    [B][COLOR=red]End If
[/COLOR][/B]Next i
Application.ScreenUpdating = True
End Sub
 
Sayın Nejdet Yeşertener alkanıza çok teşekkür ederim.Tam istediğim gibi olmuş
 
Geri
Üst