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 )
Row\Col |
K |
L |
M |
N |
2 |
1090.699 |
|
|
|
3 |
147.965 |
|
|
|
4 |
264.4785 |
|
|
|
5 |
30.2495 |
|
|
|
6 |
|
|
|
|
7 |
|
|
|
|
8 |
|
5 |
1090.69 |
109069 |
9 |
|
4 |
147.96 |
14796 |
10 |
|
4 |
264.47 |
26447 |
11 |
|
3 |
30.24 |
3024 |
12 |
|
|
|
|
13 |
|
1090.699 |
|
|
14 |
|
147.965 |
|
|
15 |
|
264.4785 |
|
|
16 |
|
30.2495 |
|
|
Worksheet: 1-Sheet1
_____ Workbook: 1.xls ( Using Excel 2007 32 bit )
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 |
|
|
Worksheet: 1-Sheet1
_____ Workbook: 1.xls ( Using Excel 2007 32 bit )
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),".","") |
Worksheet: 1-Sheet1
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
Bookmarks