Farklı sayfalardaki verileri tek sayfada birleştirmek,toplamak.

Katılım
8 Mart 2021
Mesajlar
20
Excel Vers. ve Dili
excel 2016- İngilizce
Altın Üyelik Bitiş Tarihi
08-03-2022
Sanırım Veri Doğrulama (Data Validation) özelliğinden bahsediyorsunuz.

Her sayfada farklı liste kullanacaksanız GİZLİ KALACAK sayfanızda bu düzeni kurmanız gerekir. Orada hazırlayacağınız listeleri veri doğrulama menüsünde tanımlayıp kullanabilirsiniz.

Ve konu başlığı ile bağlantısı olmayan sorularınızı yeni başlık açarak sormalısınız.
Korhan Bey Merhabalar tekrardan, mesaj #2 de yazdığınız AKTAR makro kodunu kullanmaktayım hala, söylediğiniz üzer Kodda Case ile başlayan satıra, dahil etmediğim sayfaları yazmaktayım fakat şuan eklediğim sayfa adı bir alt satıra yazmak gerekiyor bu şekilde hata çıkıyor, tek satıra sıra sıra yazıyordum sayfaları bu zamana kadar böyle bir hata çıkmamıştı fakat bir alt satıra geçti artık ve böyle bir hata alıyorum ne yapmam gerekiyor ?

Not: şuan eklemeye çalıştığım sayfa "M420 Malzeme Listesi"
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,563
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alt satıra yazma örneği;

C++:
Case "VERİLER", "GİZLİ KALACAK" & _
     "Yeni Sayfa Adı 1", "Yeni Sayfa Adı 2"
 
Katılım
8 Mart 2021
Mesajlar
20
Excel Vers. ve Dili
excel 2016- İngilizce
Altın Üyelik Bitiş Tarihi
08-03-2022
Korhan Bey Merhabalar tekrardan, mesaj #2 de yazdığınız AKTAR makro kodunu kullanmaktayım hala, söylediğiniz üzer Kodda Case ile başlayan satıra, dahil etmediğim sayfaları yazmaktayım fakat şuan eklediğim sayfa adı bir alt satıra yazmak gerekiyor bu şekilde hata çıkıyor, tek satıra sıra sıra yazıyordum sayfaları bu zamana kadar böyle bir hata çıkmamıştı fakat bir alt satıra geçti artık ve böyle bir hata alıyorum ne yapmam gerekiyor ?

Not: şuan eklemeye çalıştığım sayfa "M420 Malzeme Listesi"

Hocam & _ yazarak alt satıra geçme sorununu hallettim fakat kodda bir sıkıntı çıktı sanırım çünkü deneme amaçlı "M419" ve "M420" sayfalarına verileri yazdım ve AKTAR makrosunu çalıştırdığımda gelmesini istemediğim "M419 Malzeme Listesi" ve "M420 Malzeme Listesi" sayfalarındaki yazılar da VERİLER sayfasına geliyor.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,563
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu çalışmanızda sanki aktarım yapılacak sayfa sayısı daha az gibi görünüyor. Eğer öyleyse aktarıma dahil olmayacak sayfalar yerine dahil olacak sayfa isimlerini yazmak daha mantıklı olacaktır.

Bir başka önerimde şu olabilir;

Dahil olacak ya da olmayacak sayfa isimlerini bir sayfada alt alta yazarsınız. Sonrasında buradan sayfa ismi kontrolü yaptırılarak işleme devam edilebilir. Böylece koda müdahale etmemiş olursunuz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,563
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Şimdi sayfa isimlerini kontrol ettim.

Siz koda "M420 Malzeme Listesi" olarak yazmışsınız. Ama sayfa ismini bu değil. Düzeltirseniz sorun düzelecektir.
 
Katılım
8 Mart 2021
Mesajlar
20
Excel Vers. ve Dili
excel 2016- İngilizce
Altın Üyelik Bitiş Tarihi
08-03-2022
Şimdi sayfa isimlerini kontrol ettim.

Siz koda "M420 Malzeme Listesi" olarak yazmışsınız. Ama sayfa ismini bu değil. Düzeltirseniz sorun düzelecektir.
Bu çalışmanızda sanki aktarım yapılacak sayfa sayısı daha az gibi görünüyor. Eğer öyleyse aktarıma dahil olmayacak sayfalar yerine dahil olacak sayfa isimlerini yazmak daha mantıklı olacaktır.

Bir başka önerimde şu olabilir;

Dahil olacak ya da olmayacak sayfa isimlerini bir sayfada alt alta yazarsınız. Sonrasında buradan sayfa ismi kontrolü yaptırılarak işleme devam edilebilir. Böylece koda müdahale etmemiş olursunuz.
Bu çalışmanızda sanki aktarım yapılacak sayfa sayısı daha az gibi görünüyor. Eğer öyleyse aktarıma dahil olmayacak sayfalar yerine dahil olacak sayfa isimlerini yazmak daha mantıklı olacaktır.

Bir başka önerimde şu olabilir;

Dahil olacak ya da olmayacak sayfa isimlerini bir sayfada alt alta yazarsınız. Sonrasında buradan sayfa ismi kontrolü yaptırılarak işleme devam edilebilir. Böylece koda müdahale etmemiş olursunuz.
Dedikleriniz daha mantıklı ve pratik gibi ama bu şekilde alıştım adım adım sayfaların içini doldurdup module kısmını açıp dahil olmasını istemediğim sayfanın adını ekliyorum. "M420 Malzeme List" olarak güncelledim fakat VERİLERİ AKTAR dediğim zaman VERİLER sayfasında M419 ve M420 sayfasındaki veriler dışında bu koda dahil olmasını istemediğim "M419 Malzeme Listesi" ve "M420 Malzeme List" sayfasından da veriler geliyor ve VERİLER sayfası bozuluyor. Hata nerede acaba
 
Katılım
8 Mart 2021
Mesajlar
20
Excel Vers. ve Dili
excel 2016- İngilizce
Altın Üyelik Bitiş Tarihi
08-03-2022
Bu çalışmanızda sanki aktarım yapılacak sayfa sayısı daha az gibi görünüyor. Eğer öyleyse aktarıma dahil olmayacak sayfalar yerine dahil olacak sayfa isimlerini yazmak daha mantıklı olacaktır.

Bir başka önerimde şu olabilir;

Dahil olacak ya da olmayacak sayfa isimlerini bir sayfada alt alta yazarsınız. Sonrasında buradan sayfa ismi kontrolü yaptırılarak işleme devam edilebilir. Böylece koda müdahale etmemiş olursunuz.
"M419 Malzeme Listesi" ve "M420 Malzeme List" sayfalarını komple sildim ve tekrar oluşturdum, VERİLERİ AKTAR dediğimde şuan istediğim gibi "M419 Malzeme Listesi" sayfasından veri gelmiyor fakat "M420 Malzeme List" sayfasından hala VERİLERsayfasına veri geliyor
 
Katılım
8 Mart 2021
Mesajlar
20
Excel Vers. ve Dili
excel 2016- İngilizce
Altın Üyelik Bitiş Tarihi
08-03-2022
Module kısmında Case'den sonraki yere "M419 Malzeme Listesi" ve "M420 Malzeme List" isimlerini birer kez daha ayzdım bu sefer makroyu çalıştırdığımda sorun çıkarmadı...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,563
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Case bölümünü satırlara bölerek yazarsanız kontrolünüz kolaylaşır.

C++:
            Case "VERİLER", "ANA SAYFA", "300 RODAJ İŞ LİSTESİ", "400 RODAJ İŞ LİSTESİ" & _
                 "ECİ AYLIK BAKIM 2021", "300 RODAJ 1.MAK MALZEME LİSTESİ", "300 RODAJ 1.MAK TRANSFER MAL. L" & _
                 "300 RODAJ 2.MAK. MALZEME LİSTES", "300 RODAJ 2.MAK TRANSFER MAL. L", "300 YIKAMA ÖNCESİ MAL. LİSTESİ" & _
                 "300 RODAJ YIKAMA MAL. LİSTESİ", "M203 Özel Kesim Malzeme Listesi", "M204 Malzeme Listesi" & _
                 "M206 Malzeme Listesi", "300 Hattı Transfer Malzeme List", "M208 Malzeme Listesi" & _
                 "400 Hattı Transfer Malzeme List", "M401 Malzeme Listesi", "M403 Malzeme Listesi" & _
                 "M404 Malzeme Listesi", "M405 Malzeme Listesi", "M406 Malzeme Listesi", "400 Rodaj Giriş Malzeme Listesi" & _
                 "400 Rodaj 1.Makine Malzeme List", "400 Rodaj 1.Mak.T. Malzeme List", "400 Rodaj 2.Makine Malzeme List" & _
                 "400 Rodaj 2.Mak.T. Malzeme List", "M409 Malzeme Listesi", "M411 Malzeme Listesi", "M412 Malzeme Listesi" & _
                 "M413 Malzeme Listesi", "400 Rodaj yıkama malzeme list", "M415 Malzeme Listesi", "M417 Malzeme Listesi" & _
                 "M418 Malzeme Listesi", "M419 Malzeme Listesi", "M420 Malzeme List"
 
Katılım
3 Aralık 2022
Mesajlar
1
Excel Vers. ve Dili
office 2013 - tr
Altın Üyelik Bitiş Tarihi
03-12-2023
Korhan bey merhaba,
Yazdığınız kod için çok teşekkür ederim
Bende çok faydalandım. Uzun süredir tam olarak aradığım koddu.

Şu an Dosyalarımı Googele-tablolara taşımaya çalışıyorum.
Ancak kodların dönüştürülmesi gerekiyor.
Umarım yanlış anlaşılmam, oldukça araştırmama ve uğraşmama rağmen çözümliyemedim.

Alttaki kodun Google Sheets Script karşılığına dönüştürülmesi için ücretli olarak yardımcı olabilecek kimse varmı acaba ?
Beni yönlendirebilirmisiniz.


Sub Aktar()
Dim Sayfa As Worksheet, S1 As Worksheet, Son As Long, Satir As Long

Application.ScreenUpdating = False

Set S1 = Sheets("ANA")

S1.Range("A3:F" & S1.Rows.Count).Clear
Satir = 3

For Each Sayfa In ThisWorkbook.Worksheets
Select Case Sayfa.Name
Case "VERİLER" & _
"GİZLİ KALACAK"

Case Else
Son = Sayfa.Cells(Sayfa.Rows.Count, 2).End(3).Row
If Son > 2 Then
Sayfa.Range("A3:F" & Son).Copy S1.Cells(Satir, 1)
Satir = S1.Cells(S1.Rows.Count, 2).End(3).Row + 1
End If
End Select
Next

S1.Range("A3:F" & S1.Rows.Count).Sort S1.Range("A3"), xlAscending

Set S1 = Nothing

Application.ScreenUpdating = True

MsgBox "Veri aktarımı tamamlanmıştır.", vbInformation
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,563
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Haluk bey konuya ilgi duyabilir..
 
Üst