Vlookup Fonksiyonu

Katılım
26 Aralık 2005
Mesajlar
40
Excel Vers. ve Dili
Microsoft Office Excel 2003 - Ingilizce
Merhaba Arkadaslar,

Ekteki dosyada yapmak istedigim su:

- "Model" sheetindeki "G" sutunundaki numarayla, "Technicians" sheetindeki "F" sutunundaki numara ayniysa

"Technicians" sheetindeki "J" sutunundaki yazilanlari, "Model" sheetindeki
"AB" sutununa yazdirmak.

Ben bunu yapmak icin makroda bir kod yazdim ama hem yavas calisiyor hemde yanlis calisiyor. Niye oldugunu da anlamadim.
Zannedersem VLOOKUP fonksiyonunu kullanarak bu sorun cozulebiliyor. hemde dosya buyudugunde cok fazla bilgisayari mesgul etmiyor.
Bunu VBA'da veya fonksiyon olarak nasil kullanabilirim. Veya baska bir metod biliyormusunuz?

Yardimci olursaniz cok sevinirim.Iyi gunler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızı inceledim fakat anlayamadığım bazı yerler var, örneğin "Model" sayfasında G sütunundaki veriler ile "Technicians" sayfası F sütunundaki verilerde aynı olan mevcut değil. Birde "Model" sayfasında G sütununda tekrarlanan numaralar var, bu tekrarlanan kayıtların tamamının karşısına (AB sütununa) aynı sonuçlar yazılacakmı?
 
Katılım
26 Aralık 2005
Mesajlar
40
Excel Vers. ve Dili
Microsoft Office Excel 2003 - Ingilizce
Merhaba Leventm,

evet numaralar cakismiyor ama benim uzerinde calistigim esas spreadsheet'in sadece bir kismi, o yuzden numaralar cakismiyor. Kodlari ana dosyaya aktardigimda numaralarin cakisacagini farzedebilirsiniz.

Ayriyeten tekrarlayan numaralar var ve her tekrarlayan numara icin "Technicians" worksheetindeki daki "J" sutunundaki veriler tekrar tekrar yazilmasi gerekiyor.

Ilgilendigin icin cok tesekkur ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin. Veri sayınız çok fazla ise çalışması zaman alabilir. Ama yinede oldukça hızlı bir kod olduğunu düşünüyorum.

[vb:1:a5607cb452]Sub listekontrol()
On Error Resume Next
Set s1 = Sheets("Technicians")
Set s2 = Sheets("Model")
For a = 2 To s1.[f65536].End(3).Row
bul = 1
say = WorksheetFunction.CountIf(s2.[g2:g65536], s1.Cells(a, "f"))
If say > 0 Then
For b = 1 To say
adr = "g" & bul + 1 & ":g65536"
bul = WorksheetFunction.Match(s1.Cells(a, "f"), s2.Range(adr), 0) + bul
s2.Cells(bul, "ab") = s1.Cells(a, "j")
Next
End If
Next
End Sub
[/vb:1:a5607cb452]
 
Katılım
26 Aralık 2005
Mesajlar
40
Excel Vers. ve Dili
Microsoft Office Excel 2003 - Ingilizce
VBA

MErhaba Leventm,

Kodu denedim , calisiyor, yardimlarin icin cok tesekkur ederim.
 

Nox

Katılım
1 Aralık 2005
Mesajlar
22
Excel Vers. ve Dili
Excel 2010-Türkçe
yukaridaki kodu kendi yaptigim koda uyarlamaya cali$tim ama beceremedim.

combobo1.text 'i Sayfa1 A1 sutununda bulup, daha sonra bu satirlari gosterip diger satirlari saklamasini istiyorum.

vlookup fonksiyonunda oldugu gibi vba'da olmasini istiyom.yukaridaki kodu gorunce tam aradigim kod dedim, ama bi turlu benim sayfaya uyarlamayi beceremedim.

nasil yapabilirim acaba,yardimci olursaniz cok sevinirim....
 

Nox

Katılım
1 Aralık 2005
Mesajlar
22
Excel Vers. ve Dili
Excel 2010-Türkçe
cozumu $u $ekilde buldum.
payla$mak istedim, kolay gelsin ;p


[vb:1:c1600265af]Dim myrange, cell As Range

Set myrange = Sheets("Sayfa3").Range("C2", Range("C1300"))

For Each cell In myrange
If cell.Value = ComboBox2.Text Then

satir = cell.Row
Rows(satir).Hidden = False

End If


Next cell[/vb:1:c1600265af]
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Sayın Nox

Sorduğunuz soruya kendiniz cevap bulup başkalarınıda bilgilendirmek için geri döndüğünüzden dolayı teşekkür ederim
 
Üst