• DİKKAT

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

Soru hücredeki değişen her değeri alt alta kaydetme

Katılım
18 Ekim 2022
Mesajlar
11
Excel Vers. ve Dili
sürüm: 2209 dil: Türkçe
Merhabalar. Ben şöyle bir çalışma yapmak istiyorum, "sayfa1" B15' te proseslerimin haftalık OEE ' si hesaplanıyor. ve "sayfa2" de bu haftalık OEE değerlerimin ortalamasını alarak bir ortalama OEE hesaplamak istiyorum. Her hafta üretim çıktılarımı tabloya işledikten sonra OEE değerlerim değişiyor ve bu değerleri "sayfa2" F3' ten başlayarak alt alta kaydetsin istiyorum. Yani OEE değerim her değiştiğinde yeni değeri bir alt satıra yazmalı. Yardımcı olabilirseniz çok sevinirim.
 
Merhaba,
Umarım doğru anlamışımdır.
Sayfa1 de B15 hücresinde değişiklik olduğunda Sayfa2 de F sütununa her değişikliği yazar.
Aşağıdaki kodları Sayfa1'in kod bölümüne kopyalayıp deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B15]) Is Nothing Then Exit Sub
    
    If Not Target.Value = "" Then
        i = Sayfa2.Cells(Rows.Count, "F").End(3).Row + 1
        If i < 3 Then i = 3
        Sayfa2.Cells(i, "F") = Target.Value
    End If
        
End Sub
 
Cevabınız için çok teşekkür ederim fakat hücre ve sayfa adlarını örnek olarak vermiştim. kodda değişiklik yapmama izin vermiyor hata veriyor. Ne yapabilirim?
 
Örnek dosya ile açıklama yapar mısınız?
 
Altın Üye olmadığınız için siteye dosya ekleyemezsiniz ancak Google Drive, Microsoft OneDrive ya da diğer dosya paylaşım sitelerine yükleyip bağlantı adresi paylaşabilirsiniz. Benim tercihim reklam vb. yönlendirmeler olmadığı için Google Drive ya da Microsoft OneDrive ile paylaşılması.
 
If Intersect(Target, [B15]) Is Nothing Then Exit Sub satırındaki B15 hücresi kodun çalışmasını sağlayan hücre.

Hedef sayfa ve sütun için değiştirmeniz gereken kısımlar.
i = Sayfa2.Cells(Rows.Count, "F").End(3).Row + 1
Sayfa2.Cells(i, "F") = Target.Value
 
Altın Üye olmadığınız için siteye dosya ekleyemezsiniz ancak Google Drive, Microsoft OneDrive ya da diğer dosya paylaşım sitelerine yükleyip bağlantı adresi paylaşabilirsiniz. Benim tercihim reklam vb. yönlendirmeler olmadığı için Google Drive ya da Microsoft OneDrive ile paylaşılması.

https://docs.google.com/spreadsheet...ouid=101669270319569169467&rtpof=true&sd=true

Dosyamın bir kısmına buradan ulaşabilirsiniz. cycle time değerlerini geçmiş performansa kaydedebiliyorum fakat aynı şeyi üretim adetlerine, hurda+yeniden işleme, net kullanılabilir zamana yapamıyorum..
 
Merhaba,
Ben sayfa indislerini kullandım, siz bunu kendinize göre değiştirebilirsiniz.

Sayfa indisi Sayfa1 in görünen adı "Ahmet" ise siz kodda Sayfa1 yerine Sheets("Ahmet") olarak değiştiriniz.
240131
 
Paylaştığınız link çalışmıyor.
240133
 
Paylaştığınız link çalışmıyor.


kusura bakmayın herkese açmayı unutmuşum.
 
Merhaba,
Umarım doğru anlamışımdır.
Sayfa1 de B15 hücresinde değişiklik olduğunda Sayfa2 de F sütununa her değişikliği yazar.
Aşağıdaki kodları Sayfa1'in kod bölümüne kopyalayıp deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B15]) Is Nothing Then Exit Sub
   
    If Not Target.Value = "" Then
        i = Sayfa2.Cells(Rows.Count, "F").End(3).Row + 1
        If i < 3 Then i = 3
        Sayfa2.Cells(i, "F") = Target.Value
    End If
       
End Sub

Tekrar merhabalar. Kodunuzu aşağıdaki şekilde kendime uyarladım. Buton ile çalıştırmak istiyorum fakat belirttiğim satırda hata veriyor. İlgilenebilir misiniz?


Private Sub CommandButton1_Click()

If Intersect(Target, [D2]) Is Nothing Then Exit Sub

If Not Target.Value = "" Then
i = Sayfa2.Cells(Rows.Count, "D").End(3).Row + 1
If i < 5 Then i = 5
Sayfa2.Cells(i, "D") = Target.Value
End If

End Sub
 
Sayfadaki buton ile D2 hücresini aktarmak için.
Kod:
Private Sub CommandButton1_Click()
    If Range("D2").Value = "" Then Exit Sub
    i = Sayfa2.Cells(Rows.Count, "D").End(3).Row + 1
    If i < 5 Then i = 5
    Sayfa2.Cells(i, "D") = Range("D2").Value
End Sub
 
Merhaba,
Bir modüle kopyalayıp deneyiniz.

Kod:
Sub Aktar()

    Dim i As Long
    
    i = Sayfa2.Cells(Rows.Count, "D").End(3).Row + 1
    If i < 3 Then i = 3
    Sayfa2.Cells(i, "D") = Sayfa1.Range("B15")

End Sub
 
merhaba

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [B15]) Is Nothing Then Exit Sub

If Not Target.Value = "" Then
i = Sayfa2.Cells(Rows.Count, "F").End(3).Row + 1
If i < 3 Then i = 3
Sayfa2.Cells(i, "F") = Target.Value
End If

End Sub

burdaki kod b15 hücresine manuel giriş yapınca çalışıyor. ama otomatik olarak b15 e veri gelince çalışmasını nasıl sağlarız

örneğin b15 a1 e eşit olsun . a1 e veri girildikten sonra b15 teki veri aynı oluyor ama bu seferde kod çalışmıyor
 
Bu durumda kodda B15 yerine A1 kullanmanız daha uygun olacaktır..
 
Private Sub Worksheet_Calculate()
i = Sayfa2.Cells(Rows.Count, "F").End(3).Row + 1
If i < 3 Then i = 3
Sayfa2.Cells(i, "F") = [B15]
End Sub
 
Geri
Üst