aynı sayısal değere sahip hücreleri, makro eşit olarak görmüyor.

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Ekteki örnekte de görüleceği üzere, b sütununda aynı değerlere sahip 3 hücre var. Ben,


for a=1 to 3
if cells(a,"b")=cells(a+1,"b") then
msgbox "2 hücre değeri eşit"
end if
next


formülünü kullandığımda ilk 2 değer eşit, 3. değer ise eşit değil olarak görülüyor. Eğer, yukarıdaki değeri aşağıdaki satırlara kopyalarsam, bu kez eşit gözüküyor. Bence her şeyin aynı olduğu bu 3 hücrede fark edemediğim ayrım nedir acaba?

İnceleyip yardımcı olursanız sevinirim. Hepinize iyi çalışmalar..
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,919
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Atladığınız şu döngü 3 kez döndüğünde cells(a,"b") Cells(3,2) iken

cells(a+1,"b") ile Cells(3+1;"b") kısmı ile 4 satıra ulaşmış olmanızdır. Dolayısı ile alt satırda veri olmadığı zaman

döngüden bir eksik hücre değeri yani 2 kez eşit mesajını alıyorsunuz satırları aşağı kopyaladığınızda ise veri

olduğundan bu sefer eşit gözüküyor.
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Sayın Ali, döngünün o kısmında sorun yok, aşağı kopyalamaktan kastettiğim, 4. satıra kopyalamak değil. Birinci satırdaki değeri 2 ve 3. satırlara kopyaladığımda sorun olmuyor.

Sizin dediğinizi anladım, ama sorun 3. ile 4. satırın eşit olması değil; 2. ile 3. satır eşitken, makro tarafından eşit görülmemesi.. Eki incelerseniz daha iyi anlayacağınızı sanıyorum. İlginize teşekkürler..
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Eklediğiniz örnek bu haliyle dediğiniz gibi eşleşmiyor. Bir boşluk yada bir karakter farklılığı aradım fakat yok görünüyor.
Ama B1 hücresini tutup aşağı doğru tekrar kopyalarsanız eşleşiyor.
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Evet, hücredeki sayı değerleri ve biçimlemeler bile aynı olmasına rağmen garip bir şekilde, değerleri farklı algılıyor.

Büyük bir dosyada, önemli bir soruna neden olan bu sıkıntıyı aşmak için, aklıma gelen bütün çözüm yollarını denedim ve pek alâkasız görünse de, şöyle bir çözüm buldum:

cells(a,"b")= cdate (cells(a,"b"))


daha sonra da hücrenin sayı şeklini 0,00 olarak ayarladım, sorun kalmadı.

Sorun kalmasa da, aklımdaki soru işaretleri varlığını sürdürüyor :???: . Buradaki değer, başka bir sayfadan 3 değerin ortalaması; bu ortalama hücredeki formülle hesaplanıyor ve başka bir sayfaya taşınıyor; ama işin garibi, üst satırdaki veriler de aynı şekilde oluşturulup ilgili sayfaya taşınıyor; yani verilerin biri başka yerden, diğeri başka yerden geliyor değil. Bu durumla ilgili fikir verebilecek arkadaşlar varsa, yani sorunun nedenini öğrenebilirsek çalışmalarımızda dikkat eder, beni işyerimde çok zor durumda bırakan böyle bir sorunla bir daha karşılaşmamaya çalışırız.

Ayrıca, bir de şöyle bir ilginç durum söz konusu; makroda yazdığım 'eğer' li ( if ) formülü, hücreye yazarsam yine eşit görüyor, makroda eşit görmüyor..
 
Son düzenleme:
Üst