• DİKKAT

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

Mizandan veri çekmek

Katılım
28 Mart 2011
Mesajlar
7
Excel Vers. ve Dili
Excel 2010 - Türkçe
Merhaba ,
Ekteki excel dosyası ile ilgili sorularım var . Sheet1 ' deki sarı ile işaretlediğim yerleri ( normalde işaretli değil derdimi anlatmada kolaylık olsun diye işaretledim ) Sheet 2 de yine aynen sarı ile işaretli yerlere aktarmak istiyorum . Sorun şu ki excel dosyasında o yerler sürekli sabit olmuyor . Başka firmanın mizanında alt hesapların çokluğundan daha aşağılarda veya yukarılarda gözükebiliyor . Ancak hesap kodları bütün firmalarda aşağı yukarı aynı diyebiliriz . Örneğin 153 TİCARİ MALLAR ana hesabı tüm firmalarda aynen bu şekilde geçiyor . Ancak 153.90 ALIŞ İADELERİ alt hesabının hesap kodu ( 153.90 ) aynıyken isim ( ALIŞ İADELERİ ) bazı firmalarımda İADE olarak geçiyor . Yani aramak için hesap kodlarını baz almak istiyorum mümkünse . Muhasebe programından sadece Sheet 1 ' deki mizanı çekebiliyorum . Sheet 2 bizim oluşturduğumuz bir excel değerleme şablonu . En pratik yoldan Sheet 1 ' den bu şablona nasıl veri aktarabilirim ? Daha önce şöyle bir kod bulmuştum ama uygulayamadım ;

Kod:
Sub y()
Set a = Sheets(1).Range("b1:o65000").Find("600 02 01 01", , xlValues, xlWhole)
    If Not a Is Nothing Then
        [c5] = a.Offset(0, 3)
    End If
    
Set a = Sheets(1).Range("b1:o65000").Find("600 02 01 02", , xlValues, xlWhole)
    If Not a Is Nothing Then
        [d5] = a.Offset(0, 3)
    End If
    
End Sub

Yardımlarınızı bekliyorum , teşekkürler .
 

Ekli dosyalar

İlla kodmu olması lazım formül olsa olmazmı eğer formül olursa ekte istediğin gibi oluyor kolay gelsin
 

Ekli dosyalar

Merhaba ,
Ekteki excel dosyası ile ilgili sorularım var . Sheet1 ' deki sarı ile işaretlediğim yerleri ( normalde işaretli değil derdimi anlatmada kolaylık olsun diye işaretledim ) Sheet 2 de yine aynen sarı ile işaretli yerlere aktarmak istiyorum . Sorun şu ki excel dosyasında o yerler sürekli sabit olmuyor . Başka firmanın mizanında alt hesapların çokluğundan daha aşağılarda veya yukarılarda gözükebiliyor . Ancak hesap kodları bütün firmalarda aşağı yukarı aynı diyebiliriz . Örneğin 153 TİCARİ MALLAR ana hesabı tüm firmalarda aynen bu şekilde geçiyor . Ancak 153.90 ALIŞ İADELERİ alt hesabının hesap kodu ( 153.90 ) aynıyken isim ( ALIŞ İADELERİ ) bazı firmalarımda İADE olarak geçiyor . Yani aramak için hesap kodlarını baz almak istiyorum mümkünse . Muhasebe programından sadece Sheet 1 ' deki mizanı çekebiliyorum . Sheet 2 bizim oluşturduğumuz bir excel değerleme şablonu . En pratik yoldan Sheet 1 ' den bu şablona nasıl veri aktarabilirim ? Daha önce şöyle bir kod bulmuştum ama uygulayamadım ;

Kod:
Sub y()
Set a = Sheets(1).Range("b1:o65000").Find("600 02 01 01", , xlValues, xlWhole)
    If Not a Is Nothing Then
        [c5] = a.Offset(0, 3)
    End If
    
Set a = Sheets(1).Range("b1:o65000").Find("600 02 01 02", , xlValues, xlWhole)
    If Not a Is Nothing Then
        [d5] = a.Offset(0, 3)
    End If
    
End Sub

Yardımlarınızı bekliyorum , teşekkürler .

Merhaba kodları denermisiniz
Kod:
Sub numan()
son = Sheets(1).Range("a65536").End(3).Row
For i = 7 To son
If Sheets(1).Range("a" & i).Value = "153" Then Sheets(2).Range("d11").Value = Sheets(1).Range("e" & i).Value
If Sheets(1).Range("a" & i).Value = "621.01" Then Sheets(2).Range("d9").Value = Sheets(1).Range("e" & i).Value
If Sheets(1).Range("a" & i).Value = "60" Then Sheets(2).Range("d5").Value = Sheets(1).Range("h" & i).Value
If Sheets(1).Range("a" & i).Value = "153.90" Then Sheets(2).Range("d12").Value = Sheets(1).Range("h" & i).Value
If Sheets(1).Range("a" & i).Value = "771" Then Sheets(2).Range("d22").Value = Sheets(1).Range("e" & i).Value
Next i
End Sub
 
Yada sizin kodlarınızın dosyanıza uyarlanmış şekli
Kod:
Sub y()
Set a = Sheets(1).Range("a1:a65000").Find("60", , xlValues, xlWhole)
    If Not a Is Nothing Then
       Sheets(2).Range("d5") = a.Offset(0, 7)
    End If
Set a = Sheets(1).Range("a1:a65000").Find("153", , xlValues, xlWhole)
    If Not a Is Nothing Then
       Sheets(2).Range("d11") = a.Offset(0, 4)
    End If
 Set a = Sheets(1).Range("a1:a65000").Find("621.01", , xlValues, xlWhole)
    If Not a Is Nothing Then
       Sheets(2).Range("d9") = a.Offset(0, 4)
    End If
Set a = Sheets(1).Range("a1:a65000").Find("153.90", , xlValues, xlWhole)
    If Not a Is Nothing Then
       Sheets(2).Range("d12") = a.Offset(0, 7)
    End If
  Set a = Sheets(1).Range("a1:a65000").Find("771", , xlValues, xlWhole)
    If Not a Is Nothing Then
       Sheets(2).Range("d22") = a.Offset(0, 4)
    End If
    
End Sub
[CODE]
[/CODE]
 
aslan525 ;
Formülü başka bir excel dosyasında denediğimde ilk başta çalışmadı daha sonra a149 olan kısmı a999 olarak değiştirdim ve sorunsuz çalıştı , teşekkürler .

numan şamil ;
Sizin de makronuz sorunsuz çalıştı çok teşekkürler , yalnız ilaveten sormak istediğim bir şey var . Örneğin 771 değerini bulduruyoruz kodlarla ancak bundan örneğin 770.18.04 ' ü çıkar ve 771 yazdığın yere bu rakamı yaz deme şansımız var mı ? Yani ilk buldurduğum hücreye ilaveten başka bir hücre daha buldurup onu ilk bulduğundan çıkaratabilir miyiz ? Teşekkürler .
 
Geri
Üst