2 koşula uyanı diğer sayfalardan alma

Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Arkadaşlar iyi geceler ,

Benim muavin mizan karşılaştırması yaparken şu şekilde bir sorunum oluştu ,

Merkez Şube muhasebe muavinlerini birleştirerek filitreleme yaparak raporlama ve kontrol yapıyorum.

Hesap kodlarımın uzunlukları eşit olmadığından muavin hesapları "X" işareti koydum mizanlarda bir sütuna bu şekilde alt hesapları ayırt ediyorum.

Konsolide_Muavin09 sayfasındaki Yeri ve Hesap kodu sütunlarında ki değerler
MrkMızan ve SbMızan sayfalarında eşitse MrkMızan ve SbMızan sayfalarında ki M Sütunlarında ki değerleri getirmek için (boş veya "X" değerleri) formül veya veri çok sayıda satır içerdiğinden makro nasıl oluşturulabilirim. Bu işlemi yapmak için yardımlarınızı rica ediyorum.
 

Ekli dosyalar

Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,729
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Dosyanızda bir kaç örnek ekleyip sorunuzu tekrar soramısınız. Bu şekilde ben birşey anlamadım.
 
Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Selamlar,


Dosyanızda bir kaç örnek ekleyip sorunuzu tekrar soramısınız. Bu şekilde ben birşey anlamadım.
Korhan hocam merhaba ,

Kısaca Konsolide_Muavin09 sayfasında ki Yeri ve Hesap Kodu sütunlarında ki değerleri mizan sayfalarında ki Yeri ve Hesap Kodu sütunları ile karşılaştırılacak eşitliği durumunda mizan sayfaların da ki ALT HESAP sütununda ki boşluksa muavin sayfasında ki ALT HESAP sütununa boşluk , eğer mızan sayfalarında "X" işareti var ise muavin sayfasına X işareti getirilecek.

Eklediğim örnek dosyada

Konsolide_Muavin09 sayfasında aşağıda ki gibi örnek mevcut

YERİ HESAP KODU Alt Hesap
Merkez 100
Merkez 100.10
Merkez 100.10.01 x örnek

Şube 100
Şube 100.10
Şube 100.10.01 x
Şubede ki hesap kodu farklılık arz edebilir.

100 ve 100.10 hesap karşısında Alt hesap alanı boş olduğundan konsolide muavin sayfasında da boş kalacak.

Korhan hocam tekrar ilginize teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,729
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

"Konsolide_Muavin09" bu sayfadaki iki sütundaki verileri "MrkMızan" sayfası ile eşletirme şansımız var. Fakat "SbMızan" sayfası ile ancak "HESAP KODU" sütunu eşleşebilir. Aramanın bu şekilde olmasınımı istiyorsunuz?
 
Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Selamlar,

"Konsolide_Muavin09" bu sayfadaki iki sütundaki verileri "MrkMızan" sayfası ile eşletirme şansımız var. Fakat "SbMızan" sayfası ile ancak "HESAP KODU" sütunu eşleşebilir. Aramanın bu şekilde olmasınımı istiyorsunuz?
Korhan hocam ,

Ben bu soruyu sorarken acaba 2'li düşeyara gibi birşey olabilirmi diye düşünmüştüm.
Sayın hocam sizin uygun gördüğünüz çözüm işimi görür diyorsanız benim için zaten sorun teşkil etmesi mümkün değil.
Sadece ek olarak şöyle bir soru aklıma geliyor değer hesaplatsaydık örneğin
her sütunu topla.çarpım formülünde eşleştiriyoruz.Bu işlemde buna benzer bir durum olamıyor galiba .
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,729
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. RALKAN,

İşlem istenildiği gibi yapılabilir. Benim anlamak istediğim ilk olarak "MrkMızan" bu sayfada arama yapılacak. Eğer hesap kodu bulunursa "SbMızan" isimli sayfaya hiç bakılmayacakmı?

Yada arama işlemi hangi mantıkla yapılacak. Kod yazımı için bu kriterler çok önemlidir.

Dosyanızın detaylarını siz biliyorsunuz. İşinize yarayacak kodu oluşturmak adına bu soruları soruyorum.
 
Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Selamlar,

Sn. RALKAN,

İşlem istenildiği gibi yapılabilir. Benim anlamak istediğim ilk olarak "MrkMızan" bu sayfada arama yapılacak. Eğer hesap kodu bulunursa "SbMızan" isimli sayfaya hiç bakılmayacakmı?

Yada arama işlemi hangi mantıkla yapılacak. Kod yazımı için bu kriterler çok önemlidir.

Dosyanızın detaylarını siz biliyorsunuz. İşinize yarayacak kodu oluşturmak adına bu soruları soruyorum.
Hocam kusuruma bakmayın eksik anlatım söz konusu galiba sizide uğraştırıyorum.

Yeri Merkez ise MrkMızan'dan, Yeri Şube ise SbMızan'da arama yapılacak.
Muavin sayfasının tüm verisinde merkez ve şube verileri mevcut bu nedenle hem MrkMızan hemde SbMızan sayfalarına bakmak gerekiyor.Verinin bir bölümü merkeze ait değerlerden diğer bir kısmıda şube değerlerinden oluşuyor bu ndenle her iki mizandan da değer almak gerekiyor.Birleştirilmiş 2 muavin olduğundan bu şekilde bir çalışmaya ihtiyaç var.
(Not:Orjinal dosya excel 2007'de satır sayıda 92198)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,729
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub ALT_HESAP_KONTROL()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, X As Long, BUL As Range
 
    Set S1 = Sheets("Konsolide_Muavin09")
    Set S2 = Sheets("MrkMızan")
    Set S3 = Sheets("SbMızan")
 
    S1.Select
 
    For X = 2 To Range("A1048576").End(3).Row
        If UCase(Cells(X, "A")) = "MERKEZ" Then
                Set BUL = S2.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
                If Not BUL Is Nothing Then
                    Cells(X, "O") = S2.Cells(BUL.Row, "M")
                Else
                    Cells(X, "O") = Empty
                End If
        ElseIf UCase(Cells(X, "A")) = "ŞUBE" Then
                Set BUL = S3.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
                If Not BUL Is Nothing Then
                    Cells(X, "O") = S3.Cells(BUL.Row, "M")
                Else
                    Cells(X, "O") = Empty
                End If
        End If
    Next
 
    Set BUL = Nothing
    Set S1 = Nothing
    Set S2 = Nothing
    Set S3 = Nothing
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
Sub ALT_HESAP_KONTROL()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, X As Long, BUL As Range
    
    Set S1 = Sheets("Konsolide_Muavin09")
    Set S2 = Sheets("MrkMızan")
    Set S3 = Sheets("SbMızan")
    
    S1.Select
    
    For X = 2 To Range("A65536").End(3).Row
        If UCase(Cells(X, "A")) = "MERKEZ" Then
                Set BUL = S2.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
                If Not BUL Is Nothing Then
                    Cells(X, "O") = S2.Cells(BUL.Row, "M")
                Else
                    Cells(X, "O") = Empty
                End If
        ElseIf UCase(Cells(X, "A")) = "ŞUBE" Then
                Set BUL = S3.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
                If Not BUL Is Nothing Then
                    Cells(X, "O") = S3.Cells(BUL.Row, "M")
                Else
                    Cells(X, "O") = Empty
                End If
        End If
    Next
    Set BUL = Nothing
    Set S1 = Nothing
    Set S2 = Nothing
    Set S3 = Nothing
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Korhan hocam merhaba ,

Eklediğim örnek dosyada işlemi yapıyor teşekkür ederim fakat gerçek dosyada İşlem tamamlanmıştır mesajı geliyor fakat herhangibir değişiklik olmuyor.

Gerçek dosya excel 2007 de bu durumu değiştirir mi?Gerçek veri satır sayısı 92194 , örnek dosyada satır sayısını değiştirdiğimde de işlemi yapmadı.

1. mesajda ki örnek dosyayı sizin kodlarınızın uygulandığı dosya ile değitirdim kontrol ettim doğru sonuç veriyo
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,729
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımdaki kodu tüm satırlarınızı kapsayacak şekilde güncelledim. İncelermisiniz.
 
Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Selamlar,

Üstteki mesajımdaki kodu tüm satırlarınızı kapsayacak şekilde güncelledim. İncelermisiniz.
Korhan hocam ,

Beyninize sağlık işlem tamamdır biraz uzun sürüyor ama baktığı alan nedeniyle olsa gerek ek bir şey isteyebilirmiyim affınıza sığınarak işlem bittikten sonra X olanları başka bir sayfa açarak aktarmak mümkün olabilir mi?:redface:
Konsolide_Muavin09 sayfası aynı kalmak şartıyla (kes yapıştır olmadan sadece
x değeri alanları sütun başlıklarınıda alarak)

Teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,729
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Çalışmanıza yeni bir sayfa ekleyin. Adını RAPOR olarak düzeltin. Daha sonra "Konsolide_Muavin09" isimli sayfadaki ilk satırı RAPOR isimli sayfanın ilk satırına kopyalayın.

Son olarak aşağıdaki kodu deneyin.

Kod:
Option Explicit
 
Sub ALT_HESAP_KONTROL()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, S4 As Worksheet
    Dim X As Long, BUL As Range, SATIR As Long
 
    Set S1 = Sheets("Konsolide_Muavin09")
    Set S2 = Sheets("MrkMızan")
    Set S3 = Sheets("SbMızan")
    Set S4 = Sheets("RAPOR")
    
    SATIR = 2
 
    S1.Select
    S4.Range("A2:O1048576").ClearContents
    For X = 2 To Range("A1048576").End(3).Row
        If UCase(Cells(X, "A")) = "MERKEZ" Then
            Set BUL = S2.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
            If Not BUL Is Nothing Then
                Cells(X, "O") = S2.Cells(BUL.Row, "M")
            Else
                Cells(X, "O") = Empty
            End If
        ElseIf UCase(Cells(X, "A")) = "ŞUBE" Then
            Set BUL = S3.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
            If Not BUL Is Nothing Then
                Cells(X, "O") = S3.Cells(BUL.Row, "M")
            Else
                Cells(X, "O") = Empty
            End If
        End If
        
        If Cells(X, "O") = "X" Then
            Rows(X).Copy S4.Rows(SATIR)
            SATIR = SATIR + 1
        End If
    Next
 
    S4.Select
 
    Set BUL = Nothing
    Set S1 = Nothing
    Set S2 = Nothing
    Set S3 = Nothing
    Set S4 = Nothing
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Selamlar,

Çalışmanıza yeni bir sayfa ekleyin. Adını RAPOR olarak düzeltin. Daha sonra "Konsolide_Muavin09" isimli sayfadaki ilk satırı RAPOR isimli sayfanın ilk satırına kopyalayın.

Son olarak aşağıdaki kodu deneyin.

Kod:
Option Explicit
 
Sub ALT_HESAP_KONTROL()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, S4 As Worksheet
    Dim X As Long, BUL As Range, SATIR As Long
 
    Set S1 = Sheets("Konsolide_Muavin09")
    Set S2 = Sheets("MrkMızan")
    Set S3 = Sheets("SbMızan")
    Set S4 = Sheets("RAPOR")
    
    SATIR = 2
 
    S1.Select
    S4.Range("A2:O1048576").ClearContents
    For X = 2 To Range("A1048576").End(3).Row
        If UCase(Cells(X, "A")) = "MERKEZ" Then
            Set BUL = S2.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
            If Not BUL Is Nothing Then
                Cells(X, "O") = S2.Cells(BUL.Row, "M")
            Else
                Cells(X, "O") = Empty
            End If
        ElseIf UCase(Cells(X, "A")) = "ŞUBE" Then
            Set BUL = S3.Range("B:B").Find(Cells(X, "C"), LookAt:=xlWhole)
            If Not BUL Is Nothing Then
                Cells(X, "O") = S3.Cells(BUL.Row, "M")
            Else
                Cells(X, "O") = Empty
            End If
        End If
        
        If Cells(X, "O") = "X" Then
            Rows(X).Copy S4.Rows(SATIR)
            SATIR = SATIR + 1
        End If
    Next
 
    S4.Select
 
    Set BUL = Nothing
    Set S1 = Nothing
    Set S2 = Nothing
    Set S3 = Nothing
    Set S4 = Nothing
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub

Korhan hocam merhaba ,

Çok teşekkür ederim işlem tamamdır.
 
Üst