test Evaluate range for this post
http://www.excelfox.com/forum/showth...ecimals-by-vba
We can find the position of the . using Instr function https://docs.microsoft.com/en-us/off...instr-function
Then we can take the left of the number for a length equal to the position of the . + 3 using the Left function https://docs.microsoft.com/en-us/off.../left-function
Then we can remove the . using the Replace function , https://docs.microsoft.com/en-us/off...place-function
or formulas...
_____ Workbook: 1.xls ( Using Excel 2007 32 bit )
Worksheet: 1-Sheet1
Row\Col K L M N 2 1090.699 3 147.965 4 264.4785 5 30.2495 6 7 8 51090.69 109069 9 4147.96 14796 10 4264.47 26447 11 330.24 3024 12 13 1090.699 14 147.965 15 264.4785 16 30.2495
_____ Workbook: 1.xls ( Using Excel 2007 32 bit )
Worksheet: 1-Sheet1
Row\Col K L M N 2 1090.699 3 147.965 4 264.4785 5 30.2495 6 7 8 =FIND(".",K2)=LEFT(K2,L8+2) =SUBSTITUTE(M8,".","") 9 =FIND(".",K3)=LEFT(K3,L9+2) =SUBSTITUTE(M9,".","") 10 =FIND(".",K4)=LEFT(K4,L10+2) =SUBSTITUTE(M10,".","") 11 =FIND(".",K5)=LEFT(K5,L11+2) =SUBSTITUTE(M11,".","") 12 13 1090.699 14 147.965 15 264.4785 16 30.2495
_____ Workbook: 1.xls ( Using Excel 2007 32 bit )
Worksheet: 1-Sheet1
Row\Col L M N O 8 =FIND(".",K2)=LEFT(K2,L8+2) =SUBSTITUTE(M8,".","") =SUBSTITUTE(LEFT(K2,FIND(".",K2)+2),".","") 9 =FIND(".",K3)=LEFT(K3,L9+2) =SUBSTITUTE(M9,".","") =SUBSTITUTE(LEFT(K3,FIND(".",K3)+2),".","") 10 =FIND(".",K4)=LEFT(K4,L10+2) =SUBSTITUTE(M10,".","") =SUBSTITUTE(LEFT(K4,FIND(".",K4)+2),".","") 11 =FIND(".",K5)=LEFT(K5,L11+2) =SUBSTITUTE(M11,".","") =SUBSTITUTE(LEFT(K5,FIND(".",K5)+2),".","")
from Forulas, Evaluate Range
Code:Sub EvaluateRangeTrimRemoveDot() ' http://www.excelfox.com/forum/showthread.php/2456-Remove-decimals-by-vba?p=13068#post13068
Dim Ws1 As Worksheet
Set Ws1 = Workbooks("1.xls").Worksheets.Item(1) ' First worksheet in open workbooks 1.xls
Dim LrK As Long: Let LrK = Ws1.Range("K" & Ws1.Rows.Count & "").End(xlUp).Row
Dim RngK As Range: Set RngK = Ws1.Range("K2:K" & LrK & "")
Let RngK.Value = Evaluate("=if({1},SUBSTITUTE(LEFT(" & RngK.Address & ",FIND("".""," & RngK.Address & ")+2),""."",""""))")
End Sub

