• DİKKAT

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

Tarih Formatı hakkında yardım.

  • Konbuyu başlatan Konbuyu başlatan chngrcn
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Mart 2010
Mesajlar
295
Excel Vers. ve Dili
Microsoft Office 2010
Merhabalar,

A sütununda hangi hücreye yazarsak yazalım,

01022018 yazıp enter'a bastığımda, otomatik olarak - 01/02/2018 yapmasını istiyorum.
Kodlama ile nasıl yapılabilir.

Not: Formül çubuğundaki veri 01/02/2018 olarak görünmeli. ( Hücre biçimledir, tarih biçimlendirme gibi cevaplar işimi görmüyor)
Saygılar.
 
merhaba. bu formül işini görürmü acaba:
=BİRLEŞTİR(PARÇAAL(H23;1;2);("/");PARÇAAL(H23;3;2);("/");PARÇAAL(H23;5;4))
 
Merhaba;

sayfanın kod bölümüne;

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
sat = Target.Row
süt = Target.Column
deger = Cells(sat, süt).Text
If süt = 1 Then

If Len(deger) >= 1 And Len(deger) <= 2 Then
If Left(deger, 2) * 1 <= 31 Then
Ay = Month(Date)
yıl = Year(Date)
Target = Format(Target & "/" & Ay & "/" & yıl, "dd.mm.yyyy")
End If
End If

If Len(deger) = 4 Then
If Left(deger, 2) * 1 <= 31 And Right(deger, 2) * 1 <= 12 Then
yıl = Year(Date)
Cells(ActiveCell.Row, ActiveCell.Column).Value = Left(deger, 2) & "/" & Right(deger, 2) & "/" & yıl
End If
End If

If Len(deger) = 8 Then
If Left(deger, 2) * 1 <= 31 And Mid(deger, 3, 2) * 1 <= 12 Then
Cells(ActiveCell.Row, ActiveCell.Column).Value = Left(deger, 2) & "/" & Mid(deger, 3, 2) & "/" & Right(deger, 4)
End If
End If

End If
End Sub

Kodlarını yerleştirin.
A sütununu metin olarak biçimlendirin.

A sütununda 01-31 aralığında bir rakam girerseniz (1 yada 2 karakter) Bunu gün olarak alır ve sistem tarihinden ay ve yılı ekleyerek yazar.
A sütununda 01-31 aralığında gün ve 01-12 aralığında ay girerseniz (4 karakter) gün ve ay kısmını alır sitemden de yılı alarak tarih yazar.
A sütununda 01-31 aralığında gün ve 01-12 aralığında ay ve yıl girerseniz tarih yazar.
İyi çalışmalar.
 

Ekli dosyalar

If Len(deger) = 4 Then
If Left(deger, 2) * 1 <= 31 And Right(deger, 2) * 1 <= 12 Then
yıl = Year(Date)
Cells(ActiveCell.Row, ActiveCell.Column).Value = Left(deger, 2) & "/" & Right(deger, 2) & "/" & yıl
End If
End If
İ

çalışmanız çok güzel, teşekkür ederim.
Yalnız girişi yaptığım hücrenin altına tarihi yazıyor. Ben girişi yaptığım hücrenin değişmesini istiyorum. Bir altındaki hücreye atmasın tarihi..

örneğin A10'a 0505 yazıp enterladığımda, A10 içinde 05/05/2018 yazsın istiyorum..
 
If Len(deger) = 4 Then
If Left(deger, 2) * 1 <= 31 And Right(deger, 2) * 1 <= 12 Then
yıl = Year(Date)
Cells(ActiveCell.Row - 1, ActiveCell.Column).Value = Left(deger, 2) & "/" & Right(deger, 2) & "/" & yıl
End If
End If


Çözdüm..
kırmızı ile işaretlediğim şekilde yapınca istediğim gibi oldu. Teşekkür ederim.
 
Orjinal kodda 2 yerde geçen;

Cells(ActiveCell.Row, ActiveCell.Column)

yerine; Target yazarsanız o da olur ....

.
 
Hücreye sadece 05 falan yazdığımda tarih formatını 05.05.2018 olarak getiriyor.
Fakat 05/05/2018 olarak yapması gerekmez mi? o kısımda bir sıkıntı var sanırım ?
 
Koddaki 1. IF bloğunda yer alan aşağıdaki satırı;

Kod:
Target = Format(Target & "/" & Ay & "/" & yıl, "dd.mm.yyyy")


bununla değiştirin;

Kod:
Target = Target & "/" & Ay & "/" & yıl

.
 
Geciktim...
Gerekli düzeltmeler syn. Haluk ve syn. chngrcn tarafından yapılmış.
 
Peki Userformda textbox içine yazdığımız mesela 11.02.2019 tarihini ilgili hücreye yazdırırken 11 Şubat 2019 Pazartesi şeklinde yazması için nasıl bir yol izlemeliyiz?

(Hücrede biçimlendirme yapsam dahi, textbox içine yazdığım şekilde 11.02.2019 olarak kaydediyor. Hücre biçimlendirmesi işe yaramıyor.)
 
Merhaba;
Kaydet butonu için;
Cells(sonsatir, 1) = Format(TextBox1, "dd.mmmm.yyyy") & " " & Format(TextBox1, "dddd")

Şeklinde olabilir.
İyi çalışmalar.
 
Geri
Üst