• DİKKAT

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

Makro neden çalışmıyor

Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Ekteki dosyadaki rakamları sayısal değere çevirmek istiyorum ama makro çalışmadı.Yardımcı olanlara şimdiden teşekkür ederim
 

Ekli dosyalar

Son düzenleme:
Verileri seçin ve CTRL+H ile bul/değiştiri açın.
Aranan kısmına . yazın yeni değer kısmına bir şey yazmayın ve tamam deyip çıkın
boş bir hücreye 100 yazın ve kopyalayın
verileri seçin ve sağ tıklayıp özel yapıştırı açın
böl'ü seçip tamam diyerek çıkın
Verileri istediğiniz gibi biçimlendirin.
 
Yalnız siz kodları çok yanlış düzenlemişsiniz:

Anladığım kadarıyla:
Kod:
If Right(Cells(i, c), 2).Value = "." Then
ifadesi hücrenin sağdan 2 karakteri "." ise diyor, verdiğiniz örnek dosyada bunun cevabı hayırdır çünkü hücrelerdeki verinin sağdan iki karakteri 65'tir. "." ise sağdan 3. karakterdir. Bu ifade ancak şöyle olabilirdi:

Kod:
If left(Right(Cells(i, c), 3),1).Value = "." Then

bu ifade sağdan 3 karakterin soldan 1.si "." ise demektir (bence)

Sonraki ifadede de anladığım kadarıyla eğer öyleyse sağdan iki karakteri "," yap diyorsunuz; 25.254., gibi. Bence bu da saçma bir işlem olmuş. Sağdan 2 karakteri bir karakter ve "," olarak niye değiştireyim ki?

Sonraki blok da aynı şekilde sağdan 3 karakter "." ise şeklinde devam ediyor.

Yani bence işin mantığını çok yanlış kurmuşsunuz.
 
yusuf bey makro ile yapamayız mı bu işlemi.ben dediğiniz şekilde yapamadım
 
yukarda sehven Tamama basıp çıkın demişim, 2. adımda en son tümünü değiştir demeniz gerekiyor. Belki ondan yapamamışsınızdır.
 
Eklemiş olduğunuz örneğe göre, şu kodu deneyiniz.

Kod:
Sub degistir()
For a = 1 To 100
For b = 1 To 100
If Mid(Cells(a, b), 3, 1) = "." Then _
Cells(a, b).Value = Mid(Cells(a, b), 1, 2) & "," & Mid(Cells(a, b), 4, 30)
Next: Next
Cells.NumberFormat = "#,##0.00"
End Sub
 
Geri
Üst