Skip to main content

AccessTr.neT


Makro Veya Kod Nasıl Oluştururum

Makro Veya Kod Nasıl Oluştururum

Çözüldü #1
Deneme-1 dosyasındaki A1:A5000 hücreleri arasında herhangi bir hücreye  Sayfa2'de bulunan verilerden A,B,C girilince B2 hücresine karşısındaki rakamları getirecek makro veya kod nasıl oluştururum.

Not: A1:A5000 hücreleri arasına ekleme veya silme yapılabilir. VERİ DOĞRULAMA VEYA LİSTBOX HARİÇ. Direkt yazılınca verinin gelmesi gerekiyor.
.rar Deneme-1.rar (Dosya Boyutu: 10,3 KB | İndirme Sayısı: 5)
Cevapla
#2
B satırına aşağıdaki formülü girip aşağı sürükleyerek dener misiniz
=DÜŞEYARA(A1;Sayfa2!A:B;2)
yada
=EĞERHATA(DÜŞEYARA(A1;Sayfa2!A:B;2);"")
Cevapla
#3
(16/10/2020, 16:06)berduş yazdı: B satırına aşağıdaki formülü girip aşağı sürükleyerek dener misiniz
=DÜŞEYARA(A1;Sayfa2!A:B;2)
yada
=EĞERHATA(DÜŞEYARA(A1;Sayfa2!A:B;2);"")
SAĞOLASIN 1.FORMUL İŞE YARADI
Cevapla
#4
2. formülde boş alan olduğunda HATA iletisi yazmaz tek fark o
Cevapla
#5
kusura bakmayın formül eksik olmuş
=DÜŞEYARA(A1;Sayfa2!A:B;2;0)
yada
=EĞERHATA(DÜŞEYARA(A1;Sayfa2!A:B;2;0);"")
düzeltmelisiniz
yoksa mesela siz Zyazsanız bile sonucu 30 gösteriyor
Cevapla
#6
Sayfanın kod bölümüne alttaki kodları ekleyin alternatif olarak.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dict As Object, son As Long, veri(), i As Long
   
    Set dict = CreateObject("Scripting.dictionary")
    dict.comparemode = 1 '1 kücük büyük harf icin
   
    With ThisWorkbook.Sheets("Sayfa2")
        son = .Range("A" & Rows.Count).End(3).Row
        veri = .Range("A1:B" & son).Value
        If Target.Column = 1 Then
            If Target.Cells.Count = 1 Then
                For i = LBound(veri) To UBound(veri)
                    If Not dict.exists(veri(i, 1)) Then dict.Add veri(i, 1), veri(i, 2)
                Next
                Target.Offset(0, 1).Value = dict(Target.Value)
            End If
        End If
    End With
    Set dict = Nothing: Erase veri
End Sub

[Resim: do.php?img=10528]
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da