• DİKKAT

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

farklı satır ve sutunlarda olabilen değerleri almak

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,181
Excel Vers. ve Dili
Ofis 2019 Türkçe
Arkadaşlar, datakod adlı muhasebe programından yazdığımız faturayı ön izlemede iken excel ortamına aktarıp örnekteki exsport adlı sayfada görüldüğü gibi veriler gelmektedir.
Gelen bu veriler faturadaki kalem sayısına bağlı olarak satırlar aşağıya doğru kaymakta olup, Bürüt tutar haricinde bulunan değerler ve karşılığı olan parasal tutarlar hep aynı sutunda gelmektedir. Ancak bunlardan Bürüt tutar karşılığı parasal tutar, aynı satırda farklı sütunlara kayabilmektedir.

Sonuç olarak exsport sayfasındaki değerleri Sayfa1 deki B sütununa getirebilecek kodlara ihtiyacım vardır, özellikle de Bürüt tutarın değişik sütunlarda bulunan karşılığını alabilmem daha da önemli. Çünkü diğerlerinin sütunları hep aynı sutunda geliyor.
Yardımcı olacak arkadaşlarıma şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhaba.

Örnek belgenizde Sayfa1'de a sütunundaki bilgilerde mükerrerlik var.
Kontrol edip;
-- exsport sayfasındaki ilgili alan ile Sayfa1 A sütunundaki ARANAN kelimeyi AYNI renge boyayarak (A sütunundaki verileri exsport sayfasından kopyala yapıştır ile almayı unutmayınız),
-- -İkiYüzElliİki TL- şeklinde yer alan yazıyla kısmının nereye yazılacağı (A sütunundaki hangi verinin karşısına) bilgisini kontrol ederek
örnek belgenizi yeniler misiniz?
 
Dediğiniz şekilde örneği değiştirdim

Exsport saysafındaki müşteri bilgileri aynı hücrelere denk geliyor, Faturadaki ürün kalemleri 12 satırdan itibaren başlıyor, yazılan ürün kalemlerine göre Brüt tutar ve aşağıya doğru kayabiliyor, Brüt tutarın karşılığı ise farkli sütunlarda olabiliyor.
 

Ekli dosyalar

Kod:
 Aktif Aktif hücrenin 3 satır altındaki, iki sütun önündeki hücreyi seçer.

 Sub HücreSec()
 ActiveCell.Offset(3, 2).Select
 End Sub.
Aktif Aktif hücrenin 3 satır altındaki, iki sütun önündeki hücreyi seçer.

Bana gerekli olan
Sub HücreSec()
ActiveCell.Offset(3, 2).select 'yaptıktan sonra ,hücreden sonraki ilk dolu hücre değerini almak
End Sub.
 
Ömer hocam çok mükemmel olmuş, ilgi ve alakana çok çok teşekkür ederim. Bundan faydalanarak orijinal fatura kopyasını yapaya çalışacağım. Saygılarımla
 
Sn. Ömer hocam, exsport sayfasında aranan değerin karşılığının olmaması halinde Sayfa1 deki b sütununa boş gelmesini sağlayabilir mi? örn. exsport sayfasında indirim : karşılığının 0 (sıfır) değilde boş olması halinde boş olarak gelmesini, test ettiğimde İndirim: şeklinde geliyor.
 
Merhaba.
VBA ekranında Modüle1 içerisindeki kodların son kısmında 20 şeklinde bir satır var,
o satırın bir üstündeki satırı (kırmızı renklendirdiğim satır) silin ve yerine aşağıdaki siyah renkle olanları yapıştırın.
Kod:
[COLOR="Red"]    s1.Cells(aranan, 2) = s2.Cells(satır, sutun)[/COLOR]
If WorksheetFunction.CountIf(s1.Range("A1:A" & s1.[A65536].End(3).Row), s2.Cells(satır, sutun)) > 0 Then
    s1.Cells(aranan, 2) = ""
Else
    s1.Cells(aranan, 2) = s2.Cells(satır, sutun)
End If
20
Böylece karşılığında veri olmayanların tümü için BOŞ sonuç elde edilecektir.
Gelmesi gereken sayı ve metin bilgilerini silip kod'u çalıştırarak test ediniz.
 
Ayrıca bir ilave daha yapmak yerinde olur.
Kod'un sonundaki
Kod:
Application.ScreenUpdating = True
satırından önce aşağıdaki satırı ekleyiniz.
Kod:
s1.Columns(2).AutoFit
 
Çok teşekkür ederim hocam, ayrıca a sütununda kodda belirtilen arama kriterlerinin haricinde bir değer olduğunda da b sütunundaki karşılığı da boş gelsin, deneme yaptığımda bir üst satır değerini almakta olduğunu gördüm. (Olursa başka bir projemde de kullanacağım da).
 
Tekrar merhaba.
Aşağıdaki kırmızı satırı ekleyin.
Kod:
[FONT="Trebuchet MS"][SIZE="2"]..............
If ttt = "Yazıyla" Then GoTo 10
    s2.Activate
[/SIZE][B][COLOR="Red"]On Error GoTo 20[/COLOR][/B][SIZE="2"]
s2.Cells.Find(What:=ttt, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
..............[/SIZE][/FONT]
 
Geri
Üst