- Katılım
- 3 Mart 2016
- Mesajlar
- 15
- Excel Vers. ve Dili
- 2010 İngilizce
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub kod()
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, "A").End(3).Row
uz = Len(Cells(i, "B"))
For a = 1 To uz
k = Mid(Cells(i, "B"), a, 1)
If IsNumeric(k) Then
topla = topla + (k * 1)
metin = metin & "+" & k
End If
Next a
metin = WorksheetFunction.Substitute(metin, "+", "", 1)
If Cells(i, "A") = topla Then
Cells(i, "C") = "Doğru" [B][COLOR="Red"]'[/COLOR][/B] [COLOR="DarkGreen"]& "(" & metin & "=" & topla & " olduğundan)"[/COLOR]
Else
Cells(i, "C") = "Yanlış"[B][COLOR="red"] '[/COLOR][/B][COLOR="darkgreen"]& "(" & metin & "=" & topla & " eşit değil)"[/COLOR]
End If
topla = Empty
metin = Empty
Next i
Application.ScreenUpdating = True
MsgBox " B i t t i "
End Sub
. . .
C1 yazılan sonuç yanlış olmayacak mı toplam 11 yapıyor ve
C sütununa doğru/yanlış yazdırmak yeterli mi yoksa Doğru(4+4=8 olduğudan) şeklinde dökümünüde yazmak gerekiyor mu.
. . .
. . .
Ayrıntılı yazdırmak isterseniz doğru/yanlış tan sonraki ' (tırnak) işaretlerini silin.
Yeşil satır siyaha dönecektir.
Kod:Sub kod() Application.ScreenUpdating = False For i = 1 To Cells(Rows.Count, "A").End(3).Row uz = Len(Cells(i, "B")) For a = 1 To uz k = Mid(Cells(i, "B"), a, 1) If IsNumeric(k) Then topla = topla + (k * 1) metin = metin & "+" & k End If Next a metin = WorksheetFunction.Substitute(metin, "+", "", 1) If Cells(i, "A") = topla Then Cells(i, "C") = "Doğru" [B][COLOR="Red"]'[/COLOR][/B] [COLOR="DarkGreen"]& "(" & metin & "=" & topla & " olduğundan)"[/COLOR] Else Cells(i, "C") = "Yanlış"[B][COLOR="red"] '[/COLOR][/B][COLOR="darkgreen"]& "(" & metin & "=" & topla & " eşit değil)"[/COLOR] End If topla = Empty metin = Empty Next i Application.ScreenUpdating = True MsgBox " B i t t i " End Sub
. . .
.Merhabalar,
A sütunundaki rakanmın B sütunda belirli bir kurala göre dizilmiş rakam/rakamların toplamına eşit olup olmadığını gösteren bir makro/formüle ihtiyacım var.Yardımcı olabilir misiniz?
Örnek dosyayı yükledim.Teşekkürler.
.
Dosyanız ekte.
KTF ve yerleşik fonksiyonlarla yapılmış iki çözüm yer almaktadır.
.
. . .Emir hocam teşekkürler, ancak 2 veya daha fazla basamaklı sayılar için çalışmıyor.
Sub kod()
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, "A").End(3).Row
Cells(i, "C") = Cells(i, "B")
uz = Len(Cells(i, "B"))
For a = 1 To uz
k = Mid(Cells(i, "C"), a, 1)
If Not IsNumeric(k) Then
Cells(i, "C") = Replace(Cells(i, "C"), k, "+")
End If
Next a
Cells(i, "C").Formula = ("=" & Cells(i, "C"))
If Cells(i, "A") = Cells(i, "C") Then
Cells(i, "C") = "Doğru"
Else
Cells(i, "C") = "Yanlış"
End If
Next i
Application.ScreenUpdating = True
MsgBox " B i t t i "
End Sub