• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü VLookup Hk.

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ramazankaya89

Yeni Üye
Katılım
8 Haz 2024
Mesajlar
63
Aldığı beğeni
10
Excel V
Office 2019 TR
Konu Sahibi
arkadaslar merhaba,

asagıdaki kodlarımda VLookup özelligi sadece ilk deger olan "900" olan alanı buluyor ondan sonrakı kosullarda bu degerlerı getırmıyor nerede hata yapıyorum


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Bu, muhtemelen üçüncü döngüde daha önce atanan cihaz adlarını ("test cihazı1", "test cihazı2" vb.) kontrol etme şeklinizle ilgili bir sorundan kaynaklanıyor.

Üçüncü döngüdeki sorunu çözmek için iki yaklaşımınız var:

1. Cihaz Adlarını Karşılaştırmadan Önce Temizleyin:

If Trim(Sayfa3.Cells(i, 12)) = "test cihazı1" Then

Bu kodda, Trim fonksiyonu, karşılaştırmadan önce hücre i, 12'deki metinden baş ve son boşlukları kaldırır.

2. Her İki Değeri de Stringe Dönüştürmek için CStr Fonksiyonunu Kullanın:

If CStr(Sayfa3.Cells(i, 12)) = "test cihazı1" Then

Bu kodda, CStr fonksiyonu, her iki değerin de veri türüyle ilgili herhangi bir sorun olmadan birbiriyle karşılaştırılabilmesi için dizeye dönüştürülmesini sağlar...
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Bu kod, belirtilen hücrelerin dolu olup olmadığını ve her VLookup çağrısında bir hata olup olmadığını kontrol eder. On Error Resume Next ifadesi, bir hata oluştuğunda kodun devam etmesini sağlar ve On Error GoTo 0 ifadesi, hata yakalamayı devre dışı bırakır. Bu, VLookup fonksiyonlarının hatalı bir değer döndürmesi durumunda kodun durmasını engeller. Ayrıca, Cells nesnesine referans verirken her zaman ilgili çalışma sayfasını belirtmeniz, kodun daha güvenilir çalışmasını sağlar.

Denermisiniz
 
Konu Sahibi
söyledikleriniz denedim fakat yine getirmedi sonucları sadece o alan ıcın onerebılecegınız farklı bır kod varmı anlamadım neden bu sekılde oldugunu denemedıgım yontem kalmadı acaba dim tanımlarımızda mı sorun var
 
Bu, muhtemelen üçüncü döngüde daha önce atanan cihaz adlarını ("test cihazı1", "test cihazı2" vb.) kontrol etme şeklinizle ilgili bir sorundan kaynaklanıyor.

Üçüncü döngüdeki sorunu çözmek için iki yaklaşımınız var:

1. Cihaz Adlarını Karşılaştırmadan Önce Temizleyin:

If Trim(Sayfa3.Cells(i, 12)) = "test cihazı1" Then

Bu kodda, Trim fonksiyonu, karşılaştırmadan önce hücre i, 12'deki metinden baş ve son boşlukları kaldırır.

2. Her İki Değeri de Stringe Dönüştürmek için CStr Fonksiyonunu Kullanın:

If CStr(Sayfa3.Cells(i, 12)) = "test cihazı1" Then

Bu kodda, CStr fonksiyonu, her iki değerin de veri türüyle ilgili herhangi bir sorun olmadan birbiriyle karşılaştırılabilmesi için dizeye dönüştürülmesini sağlar.

Beklenen değerlerinizdeki ("test cihazı1" vb.) cihaz adlarının, VLOOKUP tarafından çekilen verilerdeki adlarla tam olarak eşleştiğinden emin olun.

Daha temiz ve daha verimli kod için beklenen cihaz adlarını ve bunlara karşılık gelen VLOOKUP sütun numaralarını depolamak için bir sözlük veya başka bir veri yapısı kullanmayı düşünebilirsiniz.

Bu çözümlerden birini uygulayarak, kodunuzun daha önce atanan cihaz adlarını doğru şekilde tanımlayabilmesi ve Aranan_Tablo2 aralığından ilgili değerleri doldurması gerekir.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Sayın ramazankaya89
Kişisel veriler içermeyecek şekilde
küçük bir dosya örneği ekleyiniz.
Ve lütfen forum kurallarını okuyunuz.
Kolay gelsin.
 
Konu Sahibi
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Bu kod, belirtilen hücrelerin dolu olup olmadığını ve her VLookup çağrısında bir hata olup olmadığını kontrol eder. On Error Resume Next ifadesi, bir hata oluştuğunda kodun devam etmesini sağlar ve On Error GoTo 0 ifadesi, hata yakalamayı devre dışı bırakır. Bu, VLookup fonksiyonlarının hatalı bir değer döndürmesi durumunda kodun durmasını engeller. Ayrıca, Cells nesnesine referans verirken her zaman ilgili çalışma sayfasını belirtmeniz, kodun daha güvenilir çalışmasını sağlar.

Denermisiniz
cok tesekkurler sorun duzeldı
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst