• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kaydırma Fonksiyonu ile ilgili...

  • Konbuyu başlatan Konbuyu başlatan aLtuq
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Eylül 2011
Mesajlar
8
Excel Vers. ve Dili
Microsoft Excel 2003
Merhaba sevgili arkadaşlar. Benim bir sorunum var. 2 gecedir internette arama yaptım öğrenmeye anlamaya çalıştım fakat öğrenebildim desem yalan olur. Sorunum şöyle ;

a1-h13 arasındaki kısımda 1. tablom mevcut.

j1-k13 arasında kısımda da 2. tablom mevcut.

Şimdi yapmak istediğim şey şu.

1. tabloyu otomatik olarak ben kendim doldururken Excel bunu otomatik olarak 2. tabloma yansıtsın. ve 2. tablo dolduktan sonra 1. tabloya yazdığım en yeni veri 2. tabloda en üste geçsin.

Bide şöyle anlatayım.

A13 hücresine 10 yazdım bunu otomatik olarak j13 hücresine yansıttı.
D13 hücresine 11 yazdım bunu otomatik olarak k12 hücresine yansıttı.
.
.
bu şekilde 21 e kadar girdim. En son girdiğim 21 numaralı veri an itibariyle en üstte.

Şimdi ben D10 hücresine 22 numaralı veriyi girmek istiyorum ve bu 22 numaralı verinin 2 numaralı tabloda K2 hücresinde gözükmesini, 2 numaralı tablodaki diğer bütün verilerin bir alta kaymasını, en alttaki 1o numaralı verinin 2. tabloda kaybolmasını istiyorum. ( Ama 1. tabloda kaybolmasın )

Kısacası 2. tabloda girilen en son verilerimi görmek istiyorum. Örnek dosya ektedir.

Yardımlarınız için şimdiden teşekkür eder saygılarımı sunarım.

Dipnot: Üstadlarım olayı fonksiyonlar yardımıyla çözebilirsek sevinirim bende öğrenmeye çalışırım. Mecbur değilsek eğer makro kullanmayalım. Teşekkür ederim
 

Ekli dosyalar

Çok karmaşık bir işlem. Fonksiyonlarla yapılabileceğini sanmıyorum. Çünkü excel bir verinin hücreye hangi sırada girildiğinin hesabını tutmaz. Sadece o anki durum neyse ona göre işlem yapar. Yani siz 2 ayrı hücreye veri girdiğinizde excel birini önce diğerini sonra girdiğinizin ayrımını yapamaz.

Ayrıca yine excel kendisine öğretilmeyen bir kuralı kendi başına uygulayamaz. Verdiğiniz örnekten yola çıkarsak ilk girdiğinizi J sütununa sonra girdiğinizi K sütununa ve J ve K sütunlarında da alt ve üst satırlara yazmayı da ayırt edemez. Yani spesifik bir kural belirleyip A sütununa yazılanları mutlaka J sütununa aktar diye öğretmedikçe excel bunu kendiliğinden yapamaz.

Örneğin ben niye ilk yazdığınızı J13'e sonraki yazdığınızı K12'ye aktardığınızı anlamadım. Çünkü hangi mantıkla yaptığınızı bilmiyorum. Excel'in anlaması benim anlamamdan daha zor. Çünkü ben en azından hangi sırayla girdiğinizi biliyorum. Başta da belirttiğim gibi excel, hangi sırayla girildiğine bakmaz. O an hangi hücrede ne var ona bakar.

Belirttiğiniz işlem belki makroyla yapılabilir.
 
anladım çok teşekkür ederim üstad. başka bi çözüm önerisi olan üstad var mı acaba.
 
Merhaba,

Bu işlem için en uygun çözüm makrolu çözümdür. Aşağıdaki kodu ilgili sayfanın kod bölümüne uygulayıp deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A3:H13")) Is Nothing Then Exit Sub
    If Target <> "" Then
        Select Case Cells(2, Target.Column)
            Case 1
                If WorksheetFunction.CountA(Range("J2:J13")) = 12 Then
                    Range("J13") = ""
                    Range("J3:J13").Value = Range("J2:J12").Value
                    Range("J2") = Target
                Else
                    Cells(Rows.Count, "J").End(3).Offset(1, 0) = Target
                End If
            Case 2
                If WorksheetFunction.CountA(Range("K2:K13")) = 12 Then
                    Range("K13") = ""
                    Range("K3:K13").Value = Range("K2:K12").Value
                    Range("K2") = Target
                Else
                    Cells(Rows.Count, "K").End(3).Offset(1, 0) = Target
                End If
        End Select
    End If
End Sub
 
Geri
Üst