Foutmelding 1004 bij gebruik FormulaLocal

Status
Niet open voor verdere reacties.

PeterTibbe53

Nieuwe gebruiker
Lid geworden
2 nov 2016
Berichten
3
Hoi,

Ik heb de volgende formule in VBA gezet:

Dim MyFormula as string
MyFormula = Application.inputbox(prompt:="Enter a formula", Type:=0
Range ("G2").FormulaLocal = MyFormula

Helaas krijg ik bij stap 3 de foutmelding. Wat doe ik verkeerd, ik hoor het graag.
 
Daar is niks van te zeggen als je er niet letterlijk bij verteld welke formule je dan intikt.
Tevens mist er een ) achter Type:=0
 
De formule

Hoi,

Alvast bedankt voor jouw reactie.

Als de inputbox opkomt met de vraag de formule in te tikken, dan laat ik 2 cellen optellen. Wanneer ik Value gebruik, dan krijg ik wel het goede antwoord, maar zodra ik formulalocal gebruik, dan krijg ik de foutmelding.
 
Ik vroeg dus om de letterlijke formule die je intikt.
 
Met welk doel wil je dit? Met een inputbox een formule in een cel zetten? (wat totaal onzinnig is). Of wil je wat doen met de waarde die je invoert dmv zo'n box? Plaats even een bestandje met hoe het in elkaar steekt en wat de uitkomst moet zijn.
 
Als de imputbox verschijnt bij stap 2 dan vul ik als formule in D6 + D7. Vervolgens verschijn er in stap 3 een foutmelding en wanneer ik kijk, dan staat in stap 3 het volgende:

Range("G2"). FormulaLoca="="D3+D4"" = MyFormula = "=R6C4+R7C4" Het eerste stuk is niet correct, want de waarde in cel 2 wordt overgenomen, want als G2 niet gevuld is dan krijg ik het volgende FormulaLocal=""
 
Nog afgezien van de vraag of het logisch is, maak je het te ingewikkeld:
Code:
    MyFormula = InputBox(prompt:="Enter a formula")
    Range("G2").FormulaLocal = MyFormula
 
Ik begrijp ook de bedoeling niet, maar dit werkt hier prima als je echt alleen dit in de inputbox invult: D6+D7
Code:
Dim MyFormula As String
MyFormula = Application.InputBox(prompt:="Enter a formula", Type:=0)
MyFormula = Replace(MyFormula, Chr(34), "")
Range("G2").FormulaLocal = MyFormula
 
Bijzonder dat er verschil is tussen Inputbox en Application.Inputbox. De eerste kent het type niet.

Code:
Function InputBox(Prompt, [Title], [Default], [XPos], [YPos], [HelpFile], [Context]) As String

Code:
Function InputBox(Prompt As String, [Title], [Default], [Left], [Top], [HelpFile], [HelpContextID], [Type])

De code is, minder leesbaar, te reduceren tot:
Code:
Range("G2").FormulaLocal = Replace(Application.InputBox("Enter a formula", , , , , , , 0), Chr(34), "")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan