• DİKKAT

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

Excel'de hücre değerini kalıcı olarak kayıt etme

Katılım
21 Temmuz 2006
Mesajlar
25
Arkadaslar, şöyle bir şey yapmaya çalışıyorum. Sayfa1 de b1 hücresine "5" rakamı koyduğumu varsayalım. Bu işareti sayfa2 de f2 hücresine kayıt etsin. Ancak bu kayıt kalıcı olmalı. Yani ben sayfa1!b1 hücresine daha sonra bir başka değer örneğin 7 yazdığımda sayfa2!f2 hücresindeki değer değişmesin. Bunun yerine ikinci olarak girilen 7 sayısını sayfa2! g2 hücresine yazsın istiyorum. Bu durum sayfa1!b1 hücresine her yeni girdiğimde tekrarlansın sırasıyla sayfa2!f2 , sayfa2!g2 , sayfa2!h2 .... şeklinde devam etsin istiyorum. Bu durum mümkün müdür? Teşekkürler.
 
Merhaba,

Sayfa1'in kod bölümüne yapıştırın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim S2 As Worksheet, sut As Integer
 
    If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    
    Set S2 = Sheets("Sayfa2")
    sut = S2.Cells(2, Columns.Count).End(xlToLeft).Column + 1
 
    If S2.Range("F2") = "" Then
        sut = 6
    End If
    
    With Target
        If .Value = "" Then Exit Sub
        S2.Cells(2, sut) = .Value
    End With
 
End Sub


.
 
Ömer Bey,verdiğiniz kodu bir makro oluşturduktan sonra oluşturulan makroyu düzenle diyerek sizin kodları makroya kaydetmeye çalışıyorum ancak bir uyarı verip kaydetmiyor. Uyarı şu: "Gizlilik uyarısı: Bu belge makrolar , ActiveX denetimleri , XML genişleme paketi bilgileri veya Web bileşenleri içeriyor. Bunlar belge denetçisi tarafından kaldırılamayan kişisel bilgiler olabilir"
Sebebi nedir, ne yapmam gerekir.
 
Kodları modele değil, sayfanın kod bölümüne yapıştırmanız gerekir.

Çalıştığınız Excel sayfası adı üzerine fare ile sağ klik yapın ve "kod görüntüle" seçeneğine basın. Açılan sayfaya kodları yapıştırın.

Dosyanızı kaydederken, farklı kaydet bölümünden "makro içerebilen excel çalışma kitabı" olarak kaydedin.

.
 
Ömer Bey, sizi sıkmayacaksam konu ile ilgili bir soru daha sorabilir miyim. Excel'de çalışma sayfasına bir buton koysam ve bu butona vermiş olduğunuz kodu makro olarak atasam ve butonu tıkladığımda kodları çalıştırsam mümkün mü? Bunun sebebi şu excel dosyasında Sayfa!1 b1 hücresine 5 yazdığımı kabul edelim. Ama bir süre sonra 5 ten vazgeçtim 6 yazdım. Bu durumda sayfa!2 F2-f3-f4.. hücrelerine arka arkaya kayıt alacaktır. Bu durumda da kayıt sağlıklı olmayabilecektir. Bunun yerine çalışma sayfasında yaptığım değer değişikliğinin kesin olduğunu düşündüğümde butona tıklayarak kalıcı kaydı oluşturmayı sağlamak daha mantıklı. Bunun için yardımcı olabilir misiniz.
 
Bu şekilde deneyin.

Kod:
Sub Kaydet()

    Dim S2 As Worksheet, sut As Integer
 
    Sheets("Sayfa1").Select
    If Range("B1") = "" Then Exit Sub

    Set S2 = Sheets("Sayfa2")
    sut = S2.Cells(2, Columns.Count).End(xlToLeft).Column + 1
 
    If S2.Range("F2") = "" Then
        sut = 6
    End If

    S2.Cells(2, sut) = Range("B1")
 
End Sub
.
 
Bu kodu da daha önce yaptığım gibi sayfada iken kodu görüntüle diyerek mi yapıştıracağım. Yoksa butona makro olarak mı atayacağım?
 
Sayfaya buton ekleyip makro olarak atamanız gerekir.
 
Geri
Üst