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.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
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

.
 
Katılım
21 Temmuz 2006
Mesajlar
25
Ö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.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
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.

.
 
Katılım
21 Temmuz 2006
Mesajlar
25
Ö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.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
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
.
 
Katılım
21 Temmuz 2006
Mesajlar
25
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?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sayfaya buton ekleyip makro olarak atamanız gerekir.
 
Üst