Opgelost range vullen met arrayformule

Dit topic is als opgelost gemarkeerd

snb

Verenigingslid
Lid geworden
12 jun 2008
Berichten
20.506
Als ik [A1:C3] wil vullen met een Arrayformule doe ik dat handmatig met:

PHP:
{={1\2\3;4\5\6;7\8\9}}
(want afgelsoten met ctrl-shft-enter)

Als ik datzelfde wil doen met VBA lukt mij dat niet met de regel:

PHP:
[A1:C3].formulaArray= "={={1\2\3;4\5\6;7\8\9}"

Hoe zou dat dan wel moeten ?
 
Wellicht zonder de accolades:
Code:
Range("A1:C3").FormulaArray ="=1\2\3;4\5\6;7\8\9"
 
De 'Runtime Error 1004' blijft identiek.
Als je een range in een benoemd gebied opslaat heeft die ook de vorm "={1\2\3;4\5\6;7\8\9}"

Code:
ReDim sp(2, 2)
   
 For j = 0 To 8
     sp(j \ 3, j Mod 3) = j + 1
 Next
   
 Sheet1.Names.Add "snb", sp
 MsgBox Sheet1.Names(1)
 
Laatst bewerkt:
Dan zo:
Code:
Range("A1:C3").FormulaArray = "=""1\2\3;4\5\6;7\8\9"""
 
Nu lukt het ineens wel met:

Code:
Sub M_snb()
  ReDim sp(2, 2)
    
  For j = 0 To 8
    sp(j \ 3, j Mod 3) = j + 1
  Next
    
  Sheet1.Names.Add "snb", sp
  MsgBox Sheet1.Names(1)
    
  [A5:C7].FormulaArray = Sheet1.Names(1)
End Sub
 
Ok, zo dus:
Code:
Range("A1:C3").FormulaArray = "={1,2,3;4,5,6;7,8,9}"
 
Terug
Bovenaan Onderaan