SAYFALAR ARASI VERİ AKTARIMI SORUNU

Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
İyi günler

Öncelikle yardımınız için çok teşekkür ederim.
Bu Excel demosunda ki amacım üretim tablosundaki yeşil renkte olan, depo yazan veya ok yazan satırdaki verilerin depo 301 bir depo sayfasına doğru ve sıralı bir şekilde aktarılması. Ben kendi denemelerimde doğru veri akışını sağlayamadım
Excel şablonlar vs üstünde istediğiniz gibi oynama ekleme yapabilirsiniz.
Yardımcı olursanız çok sevinirim.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroyu deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("üretim tablosu")
Set s2 = Sheets("depo301")
son = s1.Cells(Rows.Count, "J").End(3).Row
For i = son To 2 Step -1
    If s1.Cells(i, "J") = "DEPO" Or s1.Cells(i, "D") = "OK" Then
        yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
        s1.Range("A" & i & ":J" & i).Copy s2.Cells(yeni, "A")
        s1.Rows(i).Delete
    End If
Next
Application.CutCopyMode = False
End Sub
 
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
Aşağıdaki makroyu deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("üretim tablosu")
Set s2 = Sheets("depo301")
son = s1.Cells(Rows.Count, "J").End(3).Row
For i = son To 2 Step -1
    If s1.Cells(i, "J") = "DEPO" Or s1.Cells(i, "D") = "OK" Then
        yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
        s1.Range("A" & i & ":J" & i).Copy s2.Cells(yeni, "A")
        s1.Rows(i).Delete
    End If
Next
Application.CutCopyMode = False
End Sub
Aşağıdaki makroyu deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("üretim tablosu")
Set s2 = Sheets("depo301")
son = s1.Cells(Rows.Count, "J").End(3).Row
For i = son To 2 Step -1
    If s1.Cells(i, "J") = "DEPO" Or s1.Cells(i, "D") = "OK" Then
        yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
        s1.Range("A" & i & ":J" & i).Copy s2.Cells(yeni, "A")
        s1.Rows(i).Delete
    End If
Next
Application.CutCopyMode = False
End Sub
Öncelikle ilginiz için çok teşekkür ederim. vermiş olduğunuz kodu yazdım veri aktarımı olarak çalıştı ama imalatta olan parçaları depo veya OK yazdığımızda yerinde kalıyor ve bazı depo parçaları da aktarılmamış başlangıç halinin ekran resmini koydum Excele bakarsanız sevirnirm
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Öncelikle siz o sayfadaki mevcut verilerin aktarılmasından bahsetmiştiniz, bundan sonra girilecek verilerde "DEPO" yaptığınızda aktarım olmasına dair bir talepte bulunmadınız. Sonradan eklenen verileri aktarmak için makroyu tekrar çalıştırmak gerekir.

İkinci olarak aktarılmamış dediğiniz verileri dikkatli incelerseniz hepsinin sonunda fazladan bir boşluk olduğunu görürsünüz. Veriyi boşluksuz olarak girerseniz aktarım doğru şekilde yapılacaktır. Bu hatanın olmaması için o sütunda veri doğrulama kullanmanızı ve belirli veriler dışında veri girişine izin vermeyecek şekilde ayarlamanızı öneririm.

İlk mesajınızda "doğru ve sıralı" bir şekilde diye talep etmiştiniz ama sıralamayla ilgili ben bir ayarlama yapmadım. Sıralıdan kastınız nedir?
 
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
Öncelikle siz o sayfadaki mevcut verilerin aktarılmasından bahsetmiştiniz, bundan sonra girilecek verilerde "DEPO" yaptığınızda aktarım olmasına dair bir talepte bulunmadınız. Sonradan eklenen verileri aktarmak için makroyu tekrar çalıştırmak gerekir.

İkinci olarak aktarılmamış dediğiniz verileri dikkatli incelerseniz hepsinin sonunda fazladan bir boşluk olduğunu görürsünüz. Veriyi boşluksuz olarak girerseniz aktarım doğru şekilde yapılacaktır. Bu hatanın olmaması için o sütunda veri doğrulama kullanmanızı ve belirli veriler dışında veri girişine izin vermeyecek şekilde ayarlamanızı öneririm.

İlk mesajınızda "doğru ve sıralı" bir şekilde diye talep etmiştiniz ama sıralamayla ilgili ben bir ayarlama yapmadım. Sıralıdan kastınız nedir?
DOĞRU VE SIRALI şekilde belirttim gibi çalışıyor şuan bu konuda bir sıkıntı yok daha önceki denemelerimde yanlış sonuçlarla karşılaştığım için böyle belirtmek istedim.

Bu konuda kusura bakmayın iş yetiştirmeye çalışırken gözümden kaçmış ben belirttiğimi sanmışım bu durumu makroyu tekrar çalıştırmadan halledebilirmiyiz peki

tavsiyeniz için teşekkür ederim hemen veri doğrulama yapacağım
 
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
Öncelikle siz o sayfadaki mevcut verilerin aktarılmasından bahsetmiştiniz, bundan sonra girilecek verilerde "DEPO" yaptığınızda aktarım olmasına dair bir talepte bulunmadınız. Sonradan eklenen verileri aktarmak için makroyu tekrar çalıştırmak gerekir.

İkinci olarak aktarılmamış dediğiniz verileri dikkatli incelerseniz hepsinin sonunda fazladan bir boşluk olduğunu görürsünüz. Veriyi boşluksuz olarak girerseniz aktarım doğru şekilde yapılacaktır. Bu hatanın olmaması için o sütunda veri doğrulama kullanmanızı ve belirli veriler dışında veri girişine izin vermeyecek şekilde ayarlamanızı öneririm.

İlk mesajınızda "doğru ve sıralı" bir şekilde diye talep etmiştiniz ama sıralamayla ilgili ben bir ayarlama yapmadım. Sıralıdan kastınız nedir?
"DEPO" Yazısındaki boşlukları düzeltim ve yeniden çalıştırdım hala bir değişiklik göremedim
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
İlginiz için çok teşekkür ederim demoden ana Excele aktarırken sıkıntı olmuş halettim elinize sağlık
 
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
Aşağıdaki makroyu deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("üretim tablosu")
Set s2 = Sheets("depo301")
son = s1.Cells(Rows.Count, "J").End(3).Row
For i = son To 2 Step -1
    If s1.Cells(i, "J") = "DEPO" Or s1.Cells(i, "D") = "OK" Then
        yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
        s1.Range("A" & i & ":J" & i).Copy s2.Cells(yeni, "A")
        s1.Rows(i).Delete
    End If
Next
Application.CutCopyMode = False
End Sub
iyi günler
atmış olduğunuz kod başarı ile çalışmıştı hatta sadece ad kısımlarını değiştirerek başka bir yerde de kullandım elinize sağlık fakat üretim tablosuna yeni ürünler ekledikten sonra başlattığımda başarılı olamadım kodu silip sizin vermiş olduğunuz kodu yazdım çalıştırdım ama bir sorun ile karşılaşıyorum müsaitseniz bakamısınız.

2.sorum ise depodaki malzemelerin sipariş ve stok adetlerini marka-depo adlı sayfada ürünlerin satırına getirebiliyormuyuz böyle bir şey mümkünmü
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Gönderdiğiniz dosyada herhangi bir makro yok. Varsa hatayı görebilmemiz için dosyalarınızı hatalı haliyle yüklemeniz iyi olur.

Son verdiğim kodu dosyanıza uyguladığımda satır silerken hata verdi. Bunun nedeni de O13: P31 aralığındaki tablonuz. O tabloyu asıl tablonuzun satır ve sütun hizasından uzağa alınca silmede sıkıntı yaşanmıyor.

ikindi isteğinizi ETOPLA formülüyle yapabilirsiniz. Örneğin MARKA DEPO sayfasında C4 hücresinde aşağıdaki formülü kullanabilirsiniz:

=ETOPLA(depo301!$E$3:$E$19;C4;depo301!$H$3:$H$19)

Formülde ilk olarak hangi sütunda arama yaptığımızı, sonra neyi aradığımızı ve son olarak nereyi toplayacağımızı belirtiyoruz. Son satır numarasını istediğiniz kadar arttırabilirsiniz.
 
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
Gönderdiğiniz dosyada herhangi bir makro yok. Varsa hatayı görebilmemiz için dosyalarınızı hatalı haliyle yüklemeniz iyi olur.

Son verdiğim kodu dosyanıza uyguladığımda satır silerken hata verdi. Bunun nedeni de O13: P31 aralığındaki tablonuz. O tabloyu asıl tablonuzun satır ve sütun hizasından uzağa alınca silmede sıkıntı yaşanmıyor.

ikindi isteğinizi ETOPLA formülüyle yapabilirsiniz. Örneğin MARKA DEPO sayfasında C4 hücresinde aşağıdaki formülü kullanabilirsiniz:

=ETOPLA(depo301!$E$3:$E$19;C4;depo301!$H$3:$H$19)

Formülde ilk olarak hangi sütunda arama yaptığımızı, sonra neyi aradığımızı ve son olarak nereyi toplayacağımızı belirtiyoruz. Son satır numarasını istediğiniz kadar arttırabilirsiniz.
Yardımınız için teşekkür ederim iyi çalışmalar
 
Katılım
29 Temmuz 2022
Mesajlar
12
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
31-07-2023
İYİ GÜNLER SİZE BİR SORUM OLUCAKTI
imalat emri sayfasında imalat durumuna göre (sulama opr, taşlama opr, depo kabul ) yapıldığında kendi sayfalarına taşınsın ama hata yaparsak geri alabilelim.
Aynı zamanda taşıdığımız yerde de imalat durumunu değiştirdiğimizde karşılık gelen sayfaya aktarma yapılabilir mi böyle bir şey söz konusu mu

şimdiden ilginiz için teşekkür ederim.
 

Ekli dosyalar

Üst