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

Best way to learn Power Query?
Read M is for (Data) Monkey book by Ken Puls and Miguel Escobar. It is the complete guide to Power Query.
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,036
Messages
6,122,796
Members
449,095
Latest member
m_smith_solihull

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