otomatik kopyalama

Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
açıklama excel dosyasında mevcut. cevaplarınız için şimdiden teşekkürler
 

Ekli dosyalar

Son düzenleme:

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Her yarım saatte bir değişen c sütunundaki bilgiler;
Otomatik mi değişiyor?
Manuel olarak kullanıcı mı değiştiriyor?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Ben yine de aşağıdaki kodu vereyim bir deneyin.
Sayfanızın kod sayfasına direkt yapıştırıp kullanabilirsiniz.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
Saat = Format([c1], "hh:mm")
For k = 2 To Worksheets("takip").Cells(1, Columns.Count).End(xlToLeft).Column
bak = Format(Worksheets("takip").Cells(1, k), "hh:mm")
    If bak = Saat Then
        For x = 2 To Worksheets("takip").Cells(Rows.Count, 1).End(xlUp).Row
            For xx = 3 To Cells(Rows.Count, 1).End(xlUp).Row
                If Cells(xx, 1) = Worksheets("takip").Cells(x, 1) Then
                    Worksheets("takip").Cells(x, k) = Cells(xx, 3)
                    Exit For
                End If
            Next xx
        Next x
    Exit Sub
    End If
Next k
End Sub
 
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
cevabınızı şimdi deneyeceğim ama sorunuza cevap vermek istedim. veriler otomatik değişiyor.
 
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
Ekran Alıntısı 1.PNG

228968

Kodları denedim ve saati kendim manuel olarak değiştirerek deniyorum. her yarım saate 1 dk kala ayarlıyorum ve saati geldiğinde bu hatayı alıyorum ve debug butonuna tıkladığımda hata satırı olarak
Saat = Format([c1], "hh:mm") satırını işaretliyor. çoğunluklada end butonuna tıkladığımda excel kapanıp yeniden başlıyor ve açıldığında kopyalama yapılmış oluyor ama sadece ilk satırı kopyalamış oluyor.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
C1 deki Şimdi formülü yerine elimle saat giriyorum ve çalışıyor
 

Ekli dosyalar

Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
Evet artık bende de çalışıyor çok ilginç bir durum oldu. "out of stack space" hatası da alıp duruyordum ama artık hatasız düzgün çalışıyor. çok teşekkürderim çok sağol.
 
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
Selamlar bir ricam daha olacak. tabi işler büyüyecek kodlar çoğalacaksa hiç sizi yormak istemem. verdiğiniz kodlar artık hatasız çok güzel çalışıyor. ama şöyle bir şey yapmamız mümkün mü?
örneğin ürün isimleri de otomatik değişiklik gösteriyorsa mesela elma 1. satırda ve ilk kopyalamayı saati gelince otomatik yaptı. ama bir sonraki saate kadar yeni güncelleme oldu ve elma artık 1. satırda değil de 3. satıra geçti. bir sonraki kopyalama gerçekleştiğinde takip sayfasındaki yeni rakam elmayı bulup onun satırındaki sahip olduğu hücreye kopyalansın. yani şöyle de anlatayım. ürün isimlerini takip sayfasında A2'den itibaren hücre bağlantısı şeklinde yapıştırcam. ürünler sayfasında güncelleme olduğunda ürünlerin yerleri değiştiğinde takip sayfasında da değişmiş olacak ama saatlik değişim sütunu ürün isimlerine göre satırları da otomatik değiştirecek. eğer böyle bişey mümkünde çok harika olur.
 
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
çok pardon benim dikkatsizliğim uzun bir incelemeden sonra isme göre kopyalama yaptığını farkettim.
 
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
tekrar selamlar
1 satırın üzerine satır eklersem saatler 2. satırda yer alacak ve kopyalama 2. satırdan değil de 3. satırdan başlaması için kodlarda nerede değişiklik yapmam gerekir.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Deneyebilirsin.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
Saat = Format([c1], "hh:mm")
For k = 2 To Worksheets("takip").Cells(2, Columns.Count).End(xlToLeft).Column
bak = Format(Worksheets("takip").Cells(2, k), "hh:mm")
    If bak = Saat Then
        For x = 3 To Worksheets("takip").Cells(Rows.Count, 1).End(xlUp).Row
            For xx = 3 To Cells(Rows.Count, 1).End(xlUp).Row
                If Cells(xx, 1) = Worksheets("takip").Cells(x, 1) Then
                    Worksheets("takip").Cells(x, k) = Cells(xx, 3)
                    Exit For
                End If
            Next xx
        Next x
    Exit Sub
    End If
Next k
End Sub
 
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
evet bu kod çalıştı teşekkürler. peki kopyalamayı bir kez gerçekleştirdikten sonra sütun doluysa tekrar kopyalama yapmasını engellemenin bir yolu var mıdır. ta ki bir sonraki süre gelene kadar oluşan değer değişikliğini kopyalamasın. örneğin 18:00'da kopyalama yaptı ama nedense yarım saat bitene kadar oluşan değişimleri süre sonuna kadar sütunu tekrar tekrar kopylama yapıyor. yarım saat sonuna kadar kopyalama yenilendiği için yarım saat sonraki değerler bazen aynı çıkıyor.
 
Son düzenleme:
Katılım
1 Ağustos 2017
Mesajlar
23
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
14-07-2022
kopyalamayı bir sonraki süre gelene kadar tekrarladığı için excel de tıkanıyor çok bekletiyor. çektiği veri de çok fazla
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Umarım doğru anlamışımdır.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
Zaman = ([C1] - Int([C1])) * 24
Kontrol = Zaman - Int(Zaman)
If Not (Kontrol = 0 Or Kontrol = 0.5) Then Exit Sub
k = 2 + Int(Zaman) * 2 + Kontrol * 2
For x = 3 To Worksheets("takip").Cells(Rows.Count, 1).End(xlUp).Row
    For xx = 3 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(xx, 1) = Worksheets("takip").Cells(x, 1) Then
            Worksheets("takip").Cells(x, k) = Cells(xx, 3)
            Exit For
        End If
    Next xx
Next x
End Sub
 
Üst