How to Fit Any Formula in Formula Line in VBA

Prasad K

Board Regular
Joined
Aug 4, 2021
Messages
189
Office Version
  1. 2016
  2. 2007
Platform
  1. Windows
how can i fit any type of formula in formula line in vba code

here i have applied simple vba to apply formula based on cell selection from running vba macro and it's working perfectly when i placing formula into formulaR1C1 and here what i want how can apply only formula to formula line code without converting formula to formulaR1C1

here what the problem is when i placing only formula in formula line of code of vba then that line of code is changed to red color



VBA Code:
Sub Multi()
    Dim Formula As String
    
    Formula = "=VALUE(LEFT(G10,FIND(" ",G10))*VALUE(LEFT(H10,FIND(" ",H10)-1)))"
    
    With Selection
        .Formula = Formula
        .Value = .Value
    End With
End Sub
 

Excel Facts

Waterfall charts in Excel?
Office 365 customers have access to Waterfall charts since late 2016. They were added to Excel 2019.
What is selection range should be?
For example, if you select I10:I100,
I10 formula wouls refer to G10 & H10
I11 formula wouls refer to G11 & H11
????
 
Upvote 0
if you select I10:I100,
Yes Correct Sir

if i place Formula =VALUE(LEFT(G10,FIND(" ",G10))*VALUE(LEFT(H10,FIND(" ",H10)-1))) to

In VBA Line Formula Then This Line of Code is changing to Red Color Why

Formula = "=VALUE(LEFT(G10,FIND(" ",G10))*VALUE(LEFT(H10,FIND(" ",H10)-1)))"
 
Upvote 0
Post a screenshot/image please

Post a screenshot/image please
ss (2).jpg
 
Upvote 0
1. Not a good idea to use a variable the same as a word that vba already uses as part of its language (Formula)
2. When you want to include quote marks in a string (eg formula string) you need to double the quote marks.

VBA Code:
Sub Multi()
    Dim sFormula As String
   
    sFormula = "=VALUE(LEFT(G10,FIND("" "",G10))*VALUE(LEFT(H10,FIND("" "",H10)-1)))"
   
    With Selection
        .Formula = sFormula
        .Value = .Value
    End With
End Sub
 
Upvote 0
Solution
1. Not a good idea to use a variable the same as a word that vba already uses as part of its language (Formula)
2. When you want to include quote marks in a string (eg formula string) you need to double the quote marks.

VBA Code:
Sub Multi()
    Dim sFormula As String
  
    sFormula = "=VALUE(LEFT(G10,FIND("" "",G10))*VALUE(LEFT(H10,FIND("" "",H10)-1)))"
  
    With Selection
        .Formula = sFormula
        .Value = .Value
    End With
End Sub
Thank you so much @Peter

i don't know how to fit formula within double the quote marks in VBA
 
Upvote 0
i don't know how to fit formula within double the quote marks in VBA
I'm not sure what you mean by that.
I gave you an example in the code above.

Your normal formula:
=VALUE(LEFT(G10,FIND(" ",G10))*VALUE(LEFT(H10,FIND(" ",H10)-1)))

When applying it with vba:
=VALUE(LEFT(G10,FIND("" "",G10))*VALUE(LEFT(H10,FIND("" "",H10)-1)))
 
Upvote 0

Forum statistics

Threads
1,215,547
Messages
6,125,461
Members
449,228
Latest member
moaz_cma

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