• DİKKAT

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

Düşeyara formulü makro ile yazma yardım.

Katılım
16 Ekim 2007
Mesajlar
25
Excel Vers. ve Dili
Offis 2003 Türkçe
Arkadaşlar hepinize merhaba;
Konuyu okuyan ve yardım eden herkese şimdiden teşekkür ederim. Derdimi detaylıca anlatayım size. Benim bir excel dosyam var bu dosyada bazı makrolara ihtiyacım var. Öncelikli olarak M ve N sütununa yazdığım verileri A sütununa birleştirecek yani M2 ye bir şey yazdığım anda A2 sütununa =birleştir(m2;n2) uygulayacak. Bununla birlikte N sütununa yazdığım anda a2 sütununda oluşan kodu OTOMASYON E:F' de düşey aramasına yapacak ve G2 sütununa karşılığı var ise yazacak yok ise kırmızı ile işaretleyecek. ve aynı zamanda M2 sütununa yazdığım yazıyı yine OTOMASYON A:B' de düşey ara yaparak D2'ye yazacak. ve bu durum sürekli olacak yani excel açık kaldığı sürece ilgili sütunu dolduğum anda makro bu veriyi yapacak.

İkinci derdim ise şu şekilde bu listedeki V:Z sütunları arasında ki herhangi bir hücreye herhangi bir rakam yazdığım anda yazdığım hücreye açıklama ekleyecek ve açıklamada bir öncekinin tarihi yazacak bu mümkün mü bilmiyorum.
 
dosyanızı örnek veriler ile buraya yükleyin.

mevcut durum ve kodlar çalıştıktan sonra oluşacak durumu dosya üzerinde gösterin.

yardımcı olan çıkacaktır.

belki bu hali ile de cevap verebilen olur...
 
Hocam dosyayı ekledim içine de yazdım isteklerimi yardımcı olursanız sevinirim.
 

Ekli dosyalar

açıklama benim açımdan çok yeterli değil.

ben anladığım kadarına yanıt vereyim. belki başka bir arkadaş benden daha iyi anlar ve daha doğru cevap verir.

1). a hücresine sayılar otomatik gelsin istiyorum fakat "2013 sipariş listesindeki A hücresindeki ve sevk sayfasında ki aynı A hücresine bakıp en yüksek olan sayıdan bir fazlasınız yazsın istiyorum ve bu yazma işinin müşteri adını yazar yazmaz yapmasını istiyorum.

1. satırda başlıklar, 2. satırdan başlayarak veriler var. standart bir excel tablosunda böyle olur zaten. OK...

A hücresi derken, aslında, A sütunundaki bir hücre demek istediğinizi tahmin ediyorum. ve yine bu A sütununda 2. satır ve 1 rakamından başlayarak SIRA NO vermek istediğinizi tahmin ediyorum.

fakat SEVK SAYFASINA bakıp dediğinizde bana bir şey ifade etmiyor. çünkü bunun ile << Sevk 2013 >> isimli (sayfa isimlerinin başına sonuna özel karakterler, boşluklar eklemekten kaçmak lazım, geçerken söyleyeyim ;) ) sayfayı kasdettiğinizi tahmin ediyorum ancak A sütunu boş olduğu için işler karmaşıklaşıyor. başka bir sayfanın sütunundaki rakamın diğer sayfadaki kayıt sıra no ile ilişkisini çözemiyorum.

anladığım kadarı ile çözümüm aşağıdadır. >> 2013 SİPARİŞ LİSTESİ << sayfasının kod modülüne kopyalayın. (sayfa isminin üzerinde sağ tıklayıp "kodu görüntüle" seçerek kod penceresini açabilirsiniz...)


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Count > 1 Or Target.Row = 1 Then Exit Sub
     
    If Not Intersect(Target, Columns("D:D")) Is Nothing Then
        Range("A" & Target.Row) = Application.Max(Range("A2:A" & Target.Row - 1)) + 1
    ElseIf Not Intersect(Target, Columns("L:L")) Is Nothing Then
        Range("C" & Target.Row) = IIf(Target = "", "", Application.VLookup(Target, Worksheets("OTOMASYON").Range("A:B"), 2, False))
    End If
    
End Sub
 
kodun şu kısmı için açıklama yapmalıyım.
Kod:
        Range("A" & Target.Row) = Application.Max(Range("A2:A" & Target.Row - 1)) + 1

A2 hücresinden, D sütununda veri girişi yapılan hücrenin 1 satır üstündeki A sütunu hücresine kadar olan aralıktaki en büyük rakama 1 ekler.

bunu sonradan yukarıdaki satırarda veri düzeltmesi yapılır ise en alttaki sıra numarasına 1 eklemesini, hatalı veri döndürmesini engellemek için yaptım.

aslında 2. satırdan başlayarak 1, 2, 3, şeklinde giden bir sıra no için şu kısa kod da kullanılabilir.

Kod:
        Range("A" & Target.Row) = Target.Row - 1
 
Geri
Üst