how to remove % using VBA in excel

jj0911

New Member
Joined
Jul 5, 2022
Messages
5
Office Version
  1. 2016
Platform
  1. Windows
Hello,
i have an excel file with a lot of columns in different tabs that have % signs. i want to write a VBA macro to remove all % sign. for example 98.23% change to 0.98 and 67.9% change to 0.68 etc. there are a lot of these percentages in different columns and different tabs in the excel file. so i am thinking to write a VBA function or a macro code to change those percentages but don't know how to write the code. would be appreciate if somebody can help me on this.
 

Excel Facts

Can you AutoAverage in Excel?
There is a drop-down next to the AutoSum symbol. Open the drop-down to choose AVERAGE, COUNT, MAX, or MIN
Simplest I can think of, assuming the entire column is percentages, is:
VBA Code:
Sheets("Sheet1").Columns(1).NumberFormat = general          ' Convert Column A percents to decimal
 
Upvote 0
Simplest I can think of, assuming the entire column is percentages, is:
VBA Code:
Sheets("Sheet1").Columns(1).NumberFormat = general          ' Convert Column A percents to decimal
Thank you very much. but i have a lot of percentages in different column and different tab. how do i let the code update all of those columns?
 
Upvote 0
Try using this on a copy of the file :

VBA Code:
Sub Remove_Percentage()

Dim rng As Range: Set rng = Application.Range("Sheet1!A1:B6")
Dim cel As Range
For Each cel In rng.Cells
        
        If cel.NumberFormat = "0%" Then
        
            cel.NumberFormat = "0.00"
        
        End If
        
Next cel

End Sub

Change the Range and Sheetname as per your requirement
 
Upvote 0
Try using this on a copy of the file :

VBA Code:
Sub Remove_Percentage()

Dim rng As Range: Set rng = Application.Range("Sheet1!A1:B6")
Dim cel As Range
For Each cel In rng.Cells
       
        If cel.NumberFormat = "0%" Then
       
            cel.NumberFormat = "0.00"
       
        End If
       
Next cel

End Sub

Change the Range and Sheetname as per your requirement
Thank you very much. I tried this code. there is no error message but the % did not be removed. not sure what's happened.
 
Upvote 0
What result do you get if you put this formula in a blank cell and point it at one of your % cells?
=ISNUMBER(C5)
 
Upvote 0
i just open a new excel workbook, and created some fake #% in A1 through B6, and then i created a macro just copy and paste the code. and then run the macro. there is nothing happen after i run the code.
 
Upvote 0
Try this with your test workbook

VBA Code:
Sub ChangePercentageToDecimal()
  Dim cel As Range
  
  For Each cel In Range("A1:B6")
    If cel.Text Like "*%" Then cel.NumberFormat = "0.00"
  Next cel
End Sub
 
Upvote 0

Forum statistics

Threads
1,215,433
Messages
6,124,861
Members
449,194
Latest member
HellScout

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top