- Katılım
- 31 Aralık 2013
- Mesajlar
- 138
- Excel Vers. ve Dili
- 2019-Türkçe
- Altın Üyelik Bitiş Tarihi
- 11-09-2025
Hocam denedim sonuç aynı bir değişiklik yok denediğim dosya ekte
Ekli dosyalar
-
382 KB Görüntüleme: 2
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Ama hocam sizin en son gönderdiğiniz "örnek-3(1).xls" dosyasında herşeyi aynı görmüş belirttiğiniz satırlar için.verdiğiniz örnek satırda "sayfa 1 de satır 260 ile sayfa 2 de satır 316"
tutar
1. sayfada : "32677,78" yazıyor
2. sayfada : " 32677,78 " şeklinde boşluklar ile yazıyor
Excelde bakınca boşluk yok ama VBA da bakınca boşluk var.
Onun için birbirinden farklı kabul ediyor.
Excelde =C260=C316 Birbirine eşit
fakat VBA da birinde boşluk var gördüğünden eşit değil diyor.
En başından beri bu sorunu çözmeye çalıştım. Çıkamadım işin içinden.
En son gönderdiğim dosyada makroları F8 e basarak manuel çalıştırdım böyle yapınca sorun olmuyor. Hatta manuelden sonra kodları otomatik çalıştırınca da sorun olmuyor. Burada Excel in bir hatası gibi geliyor bana. Bu sorunu aşmadan sizin değindiğiniz konuya çözüm bulmak işe yaramayacak. Çünkü dediğim gibi aynı veriye sahip iki hücreyi eşit görmüyor.
Son verdiğiniz örneğe bakılırsa sorunun ne olduğunu anlamadınız.
Eki inceleyin
Değer2 nin aldığı değere bakar mısınız?
Range("").text deyince başına ve sonuna boşluklar ekliyor ve hücre karşılaştırmada eşitsizlik var diyor.
İşin enteresan tarafı
Range("").Value deyince yada diğerlerinde eşit görünüyor ama kodları çalıştırınca eşit görmüyor. Manuel (F8 ile) çalıştırınca eşit görüyor.
Hücre formatlarını birebir değiştirince de sonuç değişmiyor. Sadece F8 ile çalıştırınca sorun düzeliyor.
Son olarak bir şey sormak istiyorum listelerdeki verileri nereden alıyorsunuz. El ile girmiyorsunuz değil mi?
Yapamayız çünkü birbiriyle eşit olan hücreleri eşeleştiremezken eşit olmayanları(birbirine yakın değerleri) hiç eşleştiremeyiz.Peki son verdiğim örnekte istediklerimizi yapabilir miyiz?
Merhabasanırım ben anlamamışım gerçekten. Bu F8 ile yapmak çok uzun ve işi mi görmüyor açıkcası
Peki son verdiğim örnekte istediklerimizi yapabilir miyiz?
Verileri el ile girmiyorum rapor o şekilde geliyor ben sadece kopyala yapıştır yapıyorum.
Sub Boşluk_Temizle()
Dim Hücre As Range
Application.ScreenUpdating = False
For Each Hücre In Range([COLOR="Red"]"X2:Z" & [Y65536].[/COLOR]End(3).Row)
Hücre.Value = Trim(Replace(Trim(Hücre.Value), Chr(160), ""))
Next Hücre
Application.ScreenUpdating = True
End Sub
Merhaba
Rapor şeklinde gelen verileri kopyalayıp yapıştırdığınız sutuna Korhan beyin aşağıdaki kodlarınızı uygulayıp sonra makrolarınızı çalıştırıp denermisiniz
Not: kırmızı yerleri dosyanızdaki verilerin olduğu sutuna göre değiştiriniz.
Kod:Sub Boşluk_Temizle() Dim Hücre As Range Application.ScreenUpdating = False For Each Hücre In Range([COLOR="Red"]"X2:Z" & [Y65536].[/COLOR]End(3).Row) Hücre.Value = Trim(Replace(Trim(Hücre.Value), Chr(160), "")) Next Hücre Application.ScreenUpdating = True End Sub
For Each Hücre In Range("A2:C" & [[COLOR="Red"]C65536[/COLOR]].End(3).Row)
Hocam sonuçlar hala hata ama dalgalikur hocam dediği hata düzelti hepsini "variant/String" olarak görüuyorİlgili kısmı şeklinde düzeltip denermisiniz
Kod:For Each Hücre In Range("A2:C" & [[COLOR="Red"]C65536[/COLOR]].End(3).Row)
örnek-4 te ve siz değişiklik verdikten sonrada her iki sayfayada uyguladım sonuçlar yine hatalı hocamSub Boşluk_Temizle() kodunu her iki sayfaya da uygularmısınız
Hocam öncelikle örnek için sağolun ama sizinkide hatalı ve sadece 1. sayfaya sonuçları yazıyor. Ben dalgalikur hocamın yaptığı şekilde doğru sonuçları arıyorum.Merhaba
Sayfa1(Test )Sayfası İçin ekli dosyayı ve modül 4 deki
Kodları inceler misiniz