• DİKKAT

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

VBA Tarih Formatı Hk

ccuneyt13

Altın Üye
Katılım
20 Ocak 2011
Mesajlar
478
Excel Vers. ve Dili
Office 365 Türkçe (64 bit)
Merhaba,

Elimde 01/01/2016 formatın da olan tarihler var.
Makro kaydederek a sütununu tarih formatına çevirip "/" ları "." yaptım ancak işlem bittikten sonra tarihler her ne kadar 01.01.2016 şekline dönüşse de filtreleme de yine tarih olarak görünmüyor.
Bu işlemleri makro kullanmadan yapınca oluyor. Ama makro ile yapınca olmuyor :(
Ek dosyada olmasını umduğum şekli ve olmayan şekli var.

Bilgi ve desteğiniz için şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba.

Boş bir hücreye 0 yazın ve 0 yazdığınız hücreyi kopyalayın.
Ardından A sütunundaki dolu hücreleri seçin ve

ÖZEL YAPIŞTIR -> DEĞERLERİ -> TOPLA -> TAMAM

şeklinde işlemi tamamlayın.
 
Merhaba.

Boş bir hücreye 0 yazın ve 0 yazdığınız hücreyi kopyalayın.
Ardından A sütunundaki dolu hücreleri seçin ve ÖZEL YAPIŞTIR -> DEĞERLERİ -> TOPLA -> TAMAM şeklinde işlemi tamamlayın.

Ömer Bey Merhaba,
Öncelikle ilginiz için teşekkür ederim. Ben excel de zaten her türlü tarihe çevire biliyorum. İsteğim makro ile gelen sonucun tarih olarak gelmesi.

:(
 
Merhabalar.
Önerdiğim şeyden de anlayacağınız gibi; mevcut verilerde, hücre içerikleri METİN (özel bir işlem yapmamışsanız verinin kendiliğinden sola yanaşık olmasından anlayabilirsiniz), söylediğimi yaptığınızda (söylediğim işlemi iki satırlık kod ile mevcut koda ilave edebilirsiniz) artık veriler METİN değil SAYI olacağından kendiliğinden sağa yanaşık hale gelecektir.
Şu an bilgisayar başında değilim, şimdilik bu kadar yazabildim.
 
Ömer Bey Merhaba,
Öncelikle ilginiz için teşekkür ederim. Ben excel de zaten her türlü tarihe çevire biliyorum. İsteğim makro ile gelen sonucun tarih olarak gelmesi.
:(
. . .

Bu tabloya verileriniz başka bir tablodan makrolar ile mi geliyor.

. . .
 
. . .

Bu tabloya verileriniz başka bir tablodan makrolar ile mi geliyor.

. . .

Hüseyin Bey,
Bu veriler şirketimizin kullandığı programdan aldığımız raporlar içerisinde geliyor. Bende bu rapordaki verilere dayanarak makrolarla bir başka rapor hazırlıyorum.
Bu tarih olayında takılı kaldım çünkü tarihe çeviremediğim için diğer adımlara geçemiyorum.

Ömer Beyin dediği gibi başka bir hücrede topla vs. mi yapmalıyım bilemedim...
 
Makrodan sonra dönen sonuç var mesela D hücresi
E hücresine =D2*1 desem gene oluyor ama amacım hem tarihe çevirmek hemde mantığını anlamak :) makroda number.format "dd.aa.yyyy" olmasına rağmen neden tarih gelmiyor.
 
Tekrar merhaba.
Hüseyin bey kod önerisinde bulunacaktır, -bilgisayar başında olmadığımdan ve kodlarla biraz uğraşan biri oldğunuzu düşündüğümden- fikir söyleyebilirim;
-- 0+...
-- 1*...
-- F2+ENTER
Gibi bir işlemi koda dönüştürmeyi deneyebilirsiniz.
Ya da veri alma kodlarını paylaşırsanız ilave kod önerisi alabilirsiniz.
 
Tekrar merhaba.
Hüseyin bey kod önerisinde bulunacaktır, -bilgisayar başında olmadığımdan ve kodlarla biraz uğraşan biri oldğunuzu düşündüğümden- fikir söyleyebilirim;
-- 0+...
-- 1*...
-- F2+ENTER
Gibi bir işlemi koda dönüştürmeyi deneyebilirsiniz.
Ya da veri alma kodlarını paylaşırsanız ilave kod önerisi alabilirsiniz.

Tekrar Merhaba Ömer Bey,

Orjinal raporda tarihler 01/01/2016 ben makroyla örneğin X sütununa şu şu tarihten büyük olanların yazındaki hücreye şunu yaz, şu tarih arasına bunu yaz vs gibi hazır kodlarım var. Ama bu hücre tarih olarak görünmediğinden diğer kodlarım işlevsiz kalıyor. Bende bu yüzden o kodların başına a hücresini tarihe dönüştürecek bir kod koymaya çalışıyorum.

Önerdiğiniz yöntemden yola çıkarak yan hücreye *1 yapıp alacağım kodla çözüm bulamaz isem.
Fikir için ayrıca teşekkür ederim.
 
Tekrar Merhaba Ömer Bey,

Orjinal raporda tarihler 01/01/2016 ben makroyla örneğin X sütununa şu şu tarihten büyük olanların yazındaki hücreye şunu yaz, şu tarih arasına bunu yaz vs gibi hazır kodlarım var. Ama bu hücre tarih olarak görünmediğinden diğer kodlarım işlevsiz kalıyor. Bende bu yüzden o kodların başına a hücresini tarihe dönüştürecek bir kod koymaya çalışıyorum.

Önerdiğiniz yöntemden yola çıkarak yan hücreye *1 yapıp alacağım kodla çözüm bulamaz isem.
Fikir için ayrıca teşekkür ederim.

Bunun makrosunu elde etmek için makro kaydet yöntemini kullanabilirsiniz.:cool:
 
. . .

Kod:
Sub KOD()

son = Cells(Rows.Count, "A").End(3).Row
With Range("B2:B" & son)
    .Formula = "=IF(A2="""","""",DATEVALUE(A2))"
    .Value = .Value
    .NumberFormat = "m/d/yyyy"
End With

End Sub

. . .
 
. . .

Kod:
Sub kod()
On Error Resume Next
Range("A:A").NumberFormat = "m/d/yyyy"
For i = 2 To Cells(Rows.Count, "A").End(3).Row
Cells(i, "A") = CDate(Cells(i, "A"))
Next i
End Sub

. . .
 
. . .

Kod:
Sub KOD()

son = Cells(Rows.Count, "A").End(3).Row
With Range("B2:B" & son)
    .Formula = "=IF(A2="""","""",DATEVALUE(A2))"
    .Value = .Value
    .NumberFormat = "m/d/yyyy"
End With

End Sub

. . .

Hüseyin Bey,
işte bu kod oldu. Çok teşekkür ediyorum.

Merakımı mazur görürseniz bu durumla ilgili bir şey daha sormak istiyorum.
Ben makro kaydet ile aşağıdaki kodu elde etmiştim fakat tarihe çevirmedi.
Sizin kod çevirdi. Merak ediyorum iki kod arasındaki fark nedir. Mantığını kavramak için soruyorum sadece.
Kod:
Columns("A:A").Select
Selection.NumberFormat = "m/d/yyyy"
Selection.Replace What:="/", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
 
Hüseyin Bey,
işte bu kod oldu. Çok teşekkür ediyorum.

Merakımı mazur görürseniz bu durumla ilgili bir şey daha sormak istiyorum.
Ben makro kaydet ile aşağıdaki kodu elde etmiştim fakat tarihe çevirmedi.
Sizin kod çevirdi. Merak ediyorum iki kod arasındaki fark nedir. Mantığını kavramak için soruyorum sadece.
Kod:
Columns("A:A").Select
Selection.NumberFormat = "m/d/yyyy"
Selection.Replace What:="/", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Siz yanlış işlemi makro kaydet yapmışsınız.
Ömer beyin dediği işlemi makro kaydet yapıcaktınız.:cool:
 
Merhaba,

Yanlış mı anladım acaba? sütunu seçip Ctrl+H ile (bul ve değiştir) "/" leri Nokta ile değiştirince zaten otomatik tarih oluyor. Ayrıca bir işlem yapmaya gerek var mı?
 
Geri
Üst