Sayfaları Otomatik Gruplandırma

Katılım
28 Temmuz 2006
Mesajlar
101
Excel Vers. ve Dili
Excel 2003
Ekli dosyada yer alan belgede ''M'' ile başlayıp devam eden sayfalarda bir gruplandırma yapmak istiyorum. Biraz karışık ama gruplandırma şu şekilde olacak.

''STOK LİSTESİ''
''M.01'' ürünün ana ismi
''M.01.01'' ürünün alt ismi
''M.01.01.01'' alt ürünün rengi
''M.01.01.01.01'' alt ürünün renginin boyu

Şimdi ben ''M.01.01.01.01, M.01.01.01.02, ''M.01.01.01.03...'' diye devam eden sayfalarıN toplamını bir üst gurubu olan ''M.01.01.01'' sayfasında, ''M.01.01.01, M.01.01.02, M.01.01.03...'' diye devam eden sayfaları bir üst gurubu olan ''M.01.01'' sayfasında, ''M.01.01, M.01.02, M.01.03 ...'' diye devam eden sayfaları bir üst gurubu olan ''M.01'' sayfasında liste şeklinde görmek istiyorum. Tabi ''M.02, M.03, M.04, ...'' diye devam eden sayfalarında alt guruplarında aynı işlemin tekrar etmesi de önemli.

Aslında bu işlem formüller yardımıyla da yapılabilir. Ama yeni açılan bir M.01.01.01.04 sayfasını teker teker üst gruplarına yazıp tanımlamak gerekiyor. Örneğin: ''M.01.01.01.04'' diye yeni bir sayfa oluşturduğumuz zaman ben o sayfayı ve formülleri bir üst grubuna ve onun üst gruplarına teker teker manuel olarak elle girmek istemiyorum. Yeni bir sayfa açıldığında bir üst gruba toplamlarının otomatik aktarılmasını istiyorum.

Ve en son olarak bütün ''M.01, M.02, M.03, M.04, ...'' diye devam eden sayfaların ''STOK LİSTESİ'' sayfasında gruplarına göre ayrılması. Ve stok listesinde bu grupların arasında birer satır boşluk olması.

Ekli dosyada yer alan belgede ''KONSOL'' sayfasında yer alan veriler ''AKTAR'' butonuna basıldığında''M.01.01.01.01, M.01.01.01.02, ''M.01.01.01.03...'' diye devam eden ilgili sayfalara aktarılıyor. Ben ekli dosyada kapsamlı bir örnek hazırladım. Belgedeki sayfaları en alt gruptan en üst gruba doğru incelediğiniz ve en son olarak da ''STOK LİSTESİ'' sayfasına göz attığınız zaman anlatmak istediğimi çok daha kolay anlayabilirsiniz.

Soruyu ve dosyayı hazır hale getirmem yaklaşık 5 saatimi aldı. Umarım derdimi anlatabilmişimdir. Arkadaşlar yardımlarınızı bekliyorum.

Yardımlarınız için şimdiden çok ama çok teşekkür ederim.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Module kopyalarak çalıştırınız..

Kod:
Sub SayfaSirala()
 
Dim i As Integer, j As Integer
On Error Resume Next
 
Application.ScreenUpdating = False
 
For i = 1 To Sheets.Count
    With Sheets(i)
        If Not .Name Like "*.0*" Then .Name = "AAA-" & .Name
    End With
Next i
 
For i = 1 To Sheets.Count
    For j = 1 To Sheets.Count - 1
        If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
            Sheets(j).Move After:=Sheets(j + 1)
        End If
    Next j
Next i
 
For i = 1 To Sheets.Count
    With Sheets(i)
        If .Name Like "AAA-*" Then .Name = Replace(.Name, "AAA-", "")
    End With
Next i

Application.ScreenUpdating = True
    
End Sub
.
 
Katılım
28 Temmuz 2006
Mesajlar
101
Excel Vers. ve Dili
Excel 2003
Ömer bey yardımlarınız için çok teşekkür ederim ama çalışmadı. ALT+F11 e bastım, modüle1' e yapıştırdım, kaydettikten sonra çalıştırdım ama bir sonuç alamadım. Tekrar yardımlarınızı bekliyorum.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodları dosyanıza uyguladıktan sonra kodu çalıştırın ve foruma tekrar ekleyin ve olmasını istediğiniz sıralamayı manuel olarak mesajınıza ekleyin.

.
 
Katılım
28 Temmuz 2006
Mesajlar
101
Excel Vers. ve Dili
Excel 2003
Kodları ekleyip uyguladığım dosya ''STOK ÇALIŞMA DENEME - 03.04''
İstediğim düzendeki dosya ise ''STOK ÇALIŞMA DENEME - 03.02''

''STOK LİSTESİ'' ve ''M'' ile başlayan sayfalara bakabilirseniz ne demek istediğimi daha kolay anlarsınız sanırım.

Tekrar alakanız ve yardımınız için teşekkür ederim.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
#2 nolu mesajdaki kodları değiştirdim.

Yalnız sizdeki sıralama mantığı neye göre yapılıyor anlamadım. Kodlama yaparken düşündüğünüzün bir çalışma mantığı olmalı ve bu mantığı bize aktarmalısınızki bizde kodlara ilave yapalım.

Kodlar grupları sıralıyor, geri kalanı ise başta kendi içinde sıralıyor.



.
 
Katılım
28 Temmuz 2006
Mesajlar
101
Excel Vers. ve Dili
Excel 2003
Aslında anlatmak istediğim tamamen yanlış anlaşılmış. Gruplandırma derken sayfaların sırası değil, ben zaten sayfaları kendime göre bir gruba ayırmışım. Benim yapmak istediğim sayfaların içerisindeki verilerin gruplandırılması. Kısaca M.01.01.01.01 deki verilerin m.01.01.01 de M.01.01.01 deki verilerin
M.01.01 de M.01.01 deki verilerinde M.01 de listelenmesi. En son olarak STOK LİSTESİ nde listelenmesi. Aslında ''M'' ile başlayan sayfaların içerisindeki veriler bir incelenirse ne demek istediğim daha kolay anlaşılır. Ben gruplandırma derken sayfa sıralarının değil içindeki verilerin listelenmesini kasdetmiştim.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Bu açıklamalarınızdan birşey anlayamadım. #7 nolu mesajda da yazmıştım. Bir sıralama yada gruplandırma varsa mantığını detaylı açıklayınız.

#7 nolu mesajda "sizin düzen" şeklinde eklediğim resimde sayfaların neden o şekilde sıraladığınızı tek tek detaylı açıklarsanız memnum olurum. Yada farklı bir yaklaşımsa o kısmı detaylı açıklayınız. Çünkü bu şekilde ben sorunuzu anlayamıyorum.

.
 
Katılım
28 Temmuz 2006
Mesajlar
101
Excel Vers. ve Dili
Excel 2003
Ömer Bey benim sorum sayfaların sıralanmasıyla alakalı değil. Sayfaların sırasının nerede olduğu da önemli değil.

Asıl olay ''KONSOL'' sayfasında yer alan verilerin ''AKTAR'' butonuna basıldığında, verileri Stok Koduna göre ''M.01.01.01.01, M.01.01.01.02, ....'' sayfalarına, Firma Koduna göre de ''S.001, S.002, S.003, ...'' sayfalarına otomatik olarak aktarıyor. Buraya kadar her şey istediğim gibi. Ama benim bundan sonra ilgili Stok koduna göre ''M.01.01.01.01, ...'' sayfalarına aktarılan verilerin toplamının otomatik olarak ilgili kodlara göre bir üst sayfaları olan sayfalara aktarılması.

Tekrar eklemiş olduğum belgede ilgili sayfalar olan M.01.01.01.01, M.01.01.01.02, ve M.01.01.01.03 sayfalarındaki verilerin toplamını ben M.01.01.01 sayfasına, M.01.01.01 sayfasındaki verileri de bir üst sayfası M.01.01 sayfasına, M.01.01 sayfasındaki verileri bir üst sayfası olan M.01 sayfasına, M.01 sayfasındaki verileri de son olarak STOK LİSTESİ sayfasına kendim girdim. Yani olay ''AKTAR'' butonuna basıldığında veya başka bir kod ile bu verilerin aktarılmasının yapılması.

Ömer Bey eğer bu yazdığım sayfaların içeriğini bir inceleyebilirseniz sorum daha kolay anlaşılabilecek. yani M.01.01.01.01, M.01.01.01.02, M.01.01.01.03, M.01.01.01, M.01.01, M.01 ve STOK LİSTESİ sayfalarının içerisindeki verileri inceleyebilirseniz sorumun anlaşılacağına inanıyorum.

Ayrıca Ömer Bey alakanız için ayrıyetten teşekkür ederim kaç günden bu yana bu sorumun çözümü için uğraşıyorsunuz.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
İşin içinde çıkamamak değilde, konu başlığındaki sayfa gruplaması tamamen muhasebe mantığı sorusuna döndü.

Akşam müsait bir zamanda uğraşmam gerekiyor. Konu aklımda fakat dediğim gibi bol zamanım olduğunda uğraşabilirim. Büyük ihtimal bu akşam geri dönüş yaparım.

.
 
Katılım
28 Temmuz 2006
Mesajlar
101
Excel Vers. ve Dili
Excel 2003
Ömer bey tekrar teşekkür ederim.
 
Üst