• DİKKAT

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

Girilen Sayıları kaydettirme (Log tutma)

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Üstadlar bir excel dosyam var;

1.Sekme Adı (Giriş)
2.Sekme Adı (Veri)

Giriş A1 Hücresi gün içinde sürekli değişik sayılar giriliyor(Sadece A1 hücresine yani) Sonra o girilen sayı silinip yenisi giriliyor.

Örneğin önce 9500-01
Sonra bu silindi yerine 9600-01 yazıldı.

İsteğim ise şu; Gün içinde sadece bu hücreye girilen sayı Veri A1 hücresinden aşağıya doğru sürekli kayıt tutsun. Tabi bunu yaparken girilen sayı arkasına excel kendini kayıt da etmeli ki veri kaybı yaşamayalım.

Mümkün mü?
 
Merhaba,

"GİRİŞ" sayfası A1'e yazılanları, B1:J1 arasına kayıt eder,

"GİRİŞ" sayfası koduna ;

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim X As Byte
    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
    If Not IsEmpty(Target) Then
    For X = 2 To 10 [COLOR="SeaGreen"]'(B:J[/COLOR])
    If Sheets("GİRİŞ").Cells(1, X) = "" Then
    Sheets("GİRİŞ").Cells(1, X) = Target
    Exit For
    End If
    Next
    End If
End Sub

Kod alıntıdır. (KorhanAyhan)

YADA ;

"GİRİŞ" sayfası A1'e yazılanları, B1'den sağa doğru kayıt eder,

"GİRİŞ" sayfası koduna ;

Kod:
Dim sayac
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
sayac = sayac + 1
Target.Offset(0, sayac) = Range("A1").Value
Son:
End Sub

Kod alıntıdır. (korucu16)

Kolay gelsin.
 
Son düzenleme:
Kodlar çalışıyor ancak, aynı sayfada olması ve yanyana kayıt etmesi bana uymuyor. Ayrıca kapanınca veri kaybetmemek için excel kendini belli aralıklarla kaydetmesi lazım
 
Merhaba,

Bu durumda, foruma örnek bir dosya eklemenizi öneririm,

Çözüm sunacak arkadaşlar, ekleyeceğiniz dosya üzerinde çalışabilsinler ki doğru sonuç elde edilebilsin,

Kolay gelsin.
 
Merhaba,

Bu durumda, foruma örnek bir dosya eklemenizi öneririm,

Çözüm sunacak arkadaşlar, ekleyeceğiniz dosya üzerinde çalışabilsinler ki doğru sonuç elde edilebilsin,

Kolay gelsin.

Çok haklısınız Hemen Ekledim.
 

Ekli dosyalar

Dosyanız ektedir.
Merhabalar Korhan bey,
Sadece öğrenmek için sormaktayım. Belki başka arkadaşlara da ileride kullanabilecekleri bir bilgi olur.
Örnekteki log tutma güzel bir örnek. A1 e girilen veri diğer sayfaya aktarılmakta. Biraz farklı olarak, benimse öğrenmek istediğim; örneğin eğer A1 den diyelim ki Z1 e kadar girilenler diğer sayfada alt alta nasıl kaydedileceği.

Bilgi için şimdiden teşekkürler
 
Sadece
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
satırını
If Intersect(Target, Range("A1:Z1")) Is Nothing Then Exit Sub
olarak değiştirin.
 
Sadece
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
satırını
If Intersect(Target, Range("A1:Z1")) Is Nothing Then Exit Sub
olarak değiştirin.

Sayın Askm, yanıtınız için teşekkürler, yazdığınız şekilde bende denemiştim, siz gönderdikten sonra tekrar denedim. Fakat GİrİŞ sayfasında A1 den Z1 e kadar girilen verilerden VERİ sayfasına A1 alıyor ve B1 e tarih saati ve B2ye tarih saati yazıyor. Yani GİRİŞ sayfasındaki A1 den Z1 e kadar olan verileri VERİ sayfasına almıyor. Rica etsem kontrol etmek için zamanınız var mı?
 
Son düzenleme:
Yapmak istediğiniz A1 deki değişillikği de Z1 deki değişikliği de alt alta yazması değil mi?
A1 de yapılan değişiklik A sütununa B1 de yapılan B sütununa yazması şeklinde mi? Örnek dosya üzerinde anlatırsanız bu şekilde revize edilebilir.
 
Yapmak istediğiniz A1 deki değişillikği de Z1 deki değişikliği de alt alta yazması değil mi?
A1 de yapılan değişiklik A sütununa B1 de yapılan B sütununa yazması şeklinde mi? Örnek dosya üzerinde anlatırsanız bu şekilde revize edilebilir.

İlginize teşekkürler,
Düşünülen işlem dosyası Ekte, detaylı açıklamayı yazdım.
Teşekkürler.
 

Ekli dosyalar

İstediğiniz log değil de kayıt işlemi gibi sanki.

Aşağıdaki şekilde yazarsanız. A1 den başlayıp Z1 e kadar verileri kaydedersiniz. En son Z1 e veri girişi yapınca A1:Z1 aralığı Veri sayfasına aktarır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("Z1")) Is Nothing Then Exit Sub
    Set S1 = Sheets("Veri")
    If S1.Range("A1") = "" Then
        son = 1
        
    Else
        son = S1.Cells(S1.Rows.Count, 1).End(3).Row + 1
    End If
    Sheets("GİRİŞ").Range("A1:Z1").Copy S1.Cells(son, 1)
    ThisWorkbook.Save
End Sub

Aşağıdaki şekilde de her sütunu girdiğinizde Veri Sayfasında aynı sütunun en son sütununun altına ekler.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:Z1")) Is Nothing Then Exit Sub
    Set S1 = Sheets("Veri")
    If S1.Cells(1, Target.Column) = "" Then
        Son = 1
    Else
        Son = S1.Cells(S1.Rows.Count, Target.Column).End(3).Row + 1
    End If
    S1.Cells(Son, Target.Column) = Target
    ThisWorkbook.Save
End Sub
 
Teşekkürler Askm,
1. kod düşündüğüm işlemi yapıyor elinize sağlık,
 
Rica ederim.
 
Geri
Üst