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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,260
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 
Katılım
18 Ekim 2022
Mesajlar
11
Excel Vers. ve Dili
sürüm: 2209 dil: Türkçe
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?
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,363
Excel Vers. ve Dili
2019 TR
Örnek dosya ile açıklama yapar mısınız?
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,363
Excel Vers. ve Dili
2019 TR
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ı.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,363
Excel Vers. ve Dili
2019 TR
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
 
Katılım
18 Ekim 2022
Mesajlar
11
Excel Vers. ve Dili
sürüm: 2209 dil: Türkçe
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/spreadsheets/d/1-JZVnCio23V7ma3uCucrh7Eg77AdCP-1/edit?usp=sharing&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..
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,260
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,363
Excel Vers. ve Dili
2019 TR
Paylaştığınız link çalışmıyor.
240133
 
Katılım
18 Ekim 2022
Mesajlar
11
Excel Vers. ve Dili
sürüm: 2209 dil: Türkçe
Paylaştığınız link çalışmıyor.

kusura bakmayın herkese açmayı unutmuşum.
 
Katılım
18 Ekim 2022
Mesajlar
11
Excel Vers. ve Dili
sürüm: 2209 dil: Türkçe
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
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,363
Excel Vers. ve Dili
2019 TR
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
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,260
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 
Katılım
24 Kasım 2021
Mesajlar
17
Excel Vers. ve Dili
Excel 2010-Türkçe
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu durumda kodda B15 yerine A1 kullanmanız daha uygun olacaktır..
 
Katılım
24 Kasım 2021
Mesajlar
17
Excel Vers. ve Dili
Excel 2010-Türkçe
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
 
Üst