• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Ctrl,shift,delete in macro

Status
Niet open voor verdere reacties.

bigreminem

Nieuwe gebruiker
Lid geworden
16 mrt 2009
Berichten
2
Hoi Excel vrinden :rolleyes:

Ik ben bezig met een rapportage macro aan het schrijven, waarin de input omgezet wordt naar leesbare tekst. De input bestaat o.a. uit naam, bedrijf en gewerkte uren, dit wordt dmv de macro opgezocht in tabelen wat de kosten zijn (voor facturatie).

Ik heb een functie waarbij ctrl+shift+delete (array formule) nodig is, maar dit wil ik in een macro bakken. Wie o wie kan mij helpen.

De formule is:

[=INDEX('\\fileserver\financien\Urenoverzichten\2009\Data\[uurtarieven.xls]Sheet1'!$J$7:$J$38;MATCH(D4&B4;'\\fileserver\financien\Urenoverzichten\2009\Data\[uurtarieven.xls]Sheet1'!$H$7:$H$38&'\\fileserver\financien\Urenoverzichten\2009\Data\[uurtarieven.xls]Sheet1'!$I$7:$I$38;0))]

waarbij de [] in Excel naar ctrl+shift+delete {} worden.

De functie doet het dus wel (handmatig), maar ik wil dit graag in een macro hebben. Zal het bestand bijvoegen voor de orientatie... :thumb:

Alvast bedankt voor je aandacht en tijd.

Gr.
Roy
 

Bijlagen

Roy

- ofwel zet je de juiste cel in een (verborgen) cel, en kopieer je die waar nodig. Dan gaan de {} mee

- ofwel gebruik je de FormulaArray eigenschap in VBA

Wigi
 
Roy

- ofwel zet je de juiste cel in een (verborgen) cel, en kopieer je die waar nodig. Dan gaan de {} mee

- ofwel gebruik je de FormulaArray eigenschap in VBA

Wigi

Hoi Wigi,

Of ik heb gedaan wat je vroeg weet ik niet, maar het was in ieder geval:

Range("N4").Select
Range("N4").FormulaR1C1 = _
"=INDEX([uurtarieven.xls]Sheet1!R7C10:R38C10,MATCH(RC[-10]&RC[-12],[uurtarieven.xls]Sheet1!R7C8:R38C8&[uurtarieven.xls]Sheet1!R7C9:R38C9,0))"
Range("N4").Select
Application.SendKeys "{F2}^+{ENTER}"
'Excel geeft nu opdracht voor Ctrl+Shift+Enter

Bedankt voor je reactie btw.
 
Hoi Wigi,

Of ik heb gedaan wat je vroeg weet ik niet, maar het was in ieder geval:

Range("N4").Select
Range("N4").FormulaR1C1 = _
"=INDEX([uurtarieven.xls]Sheet1!R7C10:R38C10,MATCH(RC[-10]&RC[-12],[uurtarieven.xls]Sheet1!R7C8:R38C8&[uurtarieven.xls]Sheet1!R7C9:R38C9,0))"
Range("N4").Select
Application.SendKeys "{F2}^+{ENTER}"
'Excel geeft nu opdracht voor Ctrl+Shift+Enter

Bedankt voor je reactie btw.


Wigi bedoelde dat je volgende code moest gebruiken:
Range("N4").FormulaArray = _
"=INDEX([uurtarieven.xls]Sheet1!R7C10:R38C10,MATCH(RC[-10]&RC[-12],[uurtarieven.xls]Sheet1!R7C8:R38C8&[uurtarieven.xls]Sheet1!R7C9:R38C9,0))"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan