• DİKKAT

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

Veri Girişinde Yandaki Sütuna otomatik tarih atama ?

  • Konbuyu başlatan Konbuyu başlatan ByAnkA
  • Başlangıç tarihi Başlangıç tarihi
Katılım
4 Şubat 2022
Mesajlar
10
Excel Vers. ve Dili
2016 ingilizce
merhaba benim bu şekilde bir yardıma ihtiyaçım var 2016 ingilizce versiyonu kullandıgım için zorlandım formülü yazma ve üretme de bana yardımcı olursanız sevınırım onceki konuları okudum ama formül yazma link silinmiş şimdiden teşşekür ederim
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1:B65536]) Is Nothing Then Cells(Target.Row, "A") = Format(Now, "dd.mm.yyyy hh:mm")
End Sub
kod formül bu bunu nasıl yazıcam =TODAY() yazıp mı yazıcam
birde ben bunu 2 sutuna butun harflere yapmak istiyorum
şimdiden yardımlarınız için teşekkürler
 
yoksa makro olarak mı yapıcam orada takıldım sayfanızda gördüm bu konuda profesyonel arkadaşlar var yardımcı olursanı sevınırım
 
Bu kodu Makro olarak kullanacaksınız.
Veri girdiğiniz sayfanızın kod penceresine yapıştıracaksınız.
Sayfanız açıkken Alt+F11 tuşlarıyla bu pencereye ulaşabilirsiniz.

Kodu ekledikten sonra dosyanızı makro içerebilen dosya olarak yeniden kaydedin. Uzantısı xlsm olacak.
 
Bu kodu Makro olarak kullanacaksınız.
Veri girdiğiniz sayfanızın kod penceresine yapıştıracaksınız.
Sayfanız açıkken Alt+F11 tuşlarıyla bu pencereye ulaşabilirsiniz.

Kodu ekledikten sonra dosyanızı makro içerebilen dosya olarak yeniden kaydedin. Uzantısı xlsm olacak.
kodu ekliyorum ama bir yerde yanlışlık yapıyorum anlamadım makro seçim listesinde run bölümde çıkmıyor
 
Siz "B" sütununda ki hücrelere veri girip enter dediğinizde işlem olacaktır.
 
Ömer Faruk bey ben kısaca şu şeklide anlatayım ben excellde bir dosya oluşturuyorum buna verileri manuel elle girilecek ama tarih otomatik olarak A sütununa gelmesini ve değiştirilmemesini istiyorum sahşen bu konuda araştırma yaptığımda sızın sayfanızda buna benzer bir kod buldum makroya kayıt etmeye çalıştım ama olmadı yıllarca Türkçe kullandık ve kod olarak kayıt yapmadık bu konuda cahil kaldık şuan İngilizce kullanıyoruz ama bu kodu kayıt edemedim kayıt etmeye çalışınca uzantı .xlsx olarak kayıt yapıyor bu konuda bana yardımcı olursanız çok sevinirim
 
Merhaba,

Aşağıdaki adımları izelerseniz kendinizde kolaylıkla yapabilirsiniz.

Boş bir excel dosyası açınız.
B sütununu seçiniz.
Seçili alan üzerinde sağ tıklayıp "Format Cells" menüsünü açınız.
Açılan ekranda en son "Protection" yazan sekmeye geliniz.
"Locked" yazan yerdeki tiki kaldırınız.
"Ok" tuluna basarak pencereyi kapatınız.

Sonra alt tarafta bulunan "Sheet1" yazan sayfa ismine sağ tıklayınız.
Açılan menüde "View Code" seçeneğini seçiniz.
Karşınıza beyaz bir pencere açılacak.
Altta ki kodu bu alana yapıştırınız.
Sonra kodu yapıştırdığınız pencereyi köşedeki çarpıdan kapatarak excel sayfasına geçiş yapınız.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
   
    On Error GoTo 10
    ActiveSheet.Unprotect 12345
    Application.EnableEvents = False
   
    For Each Rng In Intersect(Target, Range("B:B"))
        If Rng <> "" Then
            If Rng.Offset(, -1) = "" Then Rng.Offset(, -1) = Now
        Else
            Rng.Offset(, -1) = Empty
        End If
    Next
   
    Columns("A:A").AutoFit
10
    Application.EnableEvents = True
    ActiveSheet.Protect 12345
End Sub

Bu kod siz B sütununa veri girdikçe A sütununa işlem zamanını yazar. Bir daha da değiştirmez. Kodun işlevi isteğe göre düzenlenebilir.

Sonra dosyanızı ".xlsm" uzantılı kayıt edip kullanabilirsiniz.
 
Merhabalar,
Veri girişinde C sütünunda tarih var B sütünda ise (C sütununa Tarihin) verinin ilk girildiği dakika ve saniyenin yazmasını nasıl sağlayabilirim.

Eğer C sütunundaki tarih değiştirilse bile B sütundaki dakika ve saniye değişmemeli, kullanıcı isterse kendisi manuel olarak değiştirebilir.
Buradaki amacım girilen verilerin tarih ve saate göre sıralanmasını sağlamak, örneğin 10.01.2022 11:15 kasa girişi 500,00 ; 10.01.2022 13:19 bankaya yatan 1.250,00 sonradan geçmiş tarihe girilen 10.01.2022 11:20 Pazarlamacı tahsilatı 1.200,00 gibi
Bu durumda tarihe sadece tarihe göre sıralamada böyle oluyor bu durumda kasa gün içi ters bakiye veriyor, oysa 2.sıralama kriteri olarak saati de kullanırsak kasa ters bakiye vermeyecektir.
 
Vba tarafında Now kullanabilirsiniz. #9 nolu mesajımda bununla ilgili örnek var. Bu şekilde hem tarihi hem de zamanı hücreye yazdırmış olursunuz. Sonrasında sadece sıralama işlemi kalır. Onu da halledebileceğinizi düşünüyorum.
 
Korhan bey yardımınız için çok teşekkür ederim. kodu denedim. Sanırım şimdi özelliğini getiriyor. Oysa bu işimi görmüyor. Eski tarihte düzeltme yapmak istediğimde zaman 00:00:00 oluyor.
Buradaki amaç geç olarak (yani sonradan araya işlem girme) işlemi yapıldığı zaman dakikaların önemi artıyor. Diyelim ki kredi kartı ekstre takibi yapıyorsunuz. 04.02.2022 tarihinde 10 adet ayrı ayrı yerlerden alışveriş yaptınız bunları excele girerken karışı girdiniz sonrakini önce gibi, takibi kolaylaştırmak adına banka ekstresine göre saat dakika kısmını değiştirirsek aynı sıralamayı tutururuz. veya 04.02.2022 tarihindeki işlemlerden 1-2 si unutuldu 05.02.2022 tarihinde 04.02.2022 14:51 diye işlendi şimdi zamanı geldi bu durumda onlara ait olan zaman dilimini manuel değiştirip işlemin gerçek sırasına gelmesini sağlayabilmek için böyle bir formül veya kod a ihtiyacım var.
 
Örnek dosya ekledim
Korhan beyin 9 mesajı biraz uyuyor fakat saat veya tarih değiştirmede bozuluyor. beni dosyada işlem tarihi girildiğinde saat ve dakika otomatik gelsin, sonradan tarih üzerinde değişiklik yapıldığında saat ve dakika aynı kalsın, istenirse saat ve dakika düzeltilebilir. Bu şekilde Web android uygulama var
şimdiden teşekkürler...
 

Ekli dosyalar

Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
   
    On Error GoTo 10
    Application.EnableEvents = False
   
    For Each Rng In Intersect(Target, Range("C4:C" & Rows.Count))
        If Rng <> "" Then
            If Rng.Offset(, -1) = "" Then Rng.Offset(, -1) = Time
        Else
            Rng.Offset(, -1) = Empty
        End If
    Next
   
    Columns("B:B").AutoFit
10  Application.EnableEvents = True
End Sub
 
Korhan bey çok teşekkürler oldu.
Koda
1- A4 den başlamak üzere C tarih sütunu dolu ise 1 artarak sıra numarası
2- E4 den başlamak üzere E sütünu (0) sıfırdan büyük ise F3+E4, F4+E5F sütuna toplamı şeklinde
3- Girilen veri satırı bittiğinde C Tarih sütünu 1 tercih, B saat sütünu 2.tercih küçükten büyüğe sıralama şeklinde ilave yapabilirmisiniz. Hiç formül ile uğraşmamayım, mümkün mü
Kod yazmayı bilmiyorum.
Tekrardan teşekkürler
 
Merhaba,

Ben sorunuza cevap verdiğimi düşünüyorum.

Diğer taleplerinizin bu başlıkla bir bağlantısı olmadığı için ayrı başlık açarak sormalısınız.
 
Teşekkürler emeğinize sağlık
 
Geri
Üst