Sub oproepen "in naam van" vorm

Status
Niet open voor verdere reacties.

Wocky

Gebruiker
Lid geworden
22 feb 2014
Berichten
192
Beste,

Weet iemand of er een mogelijkheid bestaat om een Sub op te roepen in naam van een vorm?
... Zodanig de "Application.Caller" de naam krijgt van de vorm.

In bijlage een eenvoudige macro... waarin ik een cel inkleur... op basis van de positie van de aangeklikte vorm (... die de sub oproept).
... ter info... het is een vereenvoudigd voorbeeld... in mijn werkelijke toepassing ga ik aangrenzende kolommen met dezelfde kleur verbergen & tonen.

Nu zou ik graag een aparte sub schrijven... die in naam van elke vorm de "inkleur-macro' runt.
... dus iets zoals

Code:
For Each Shape in ActiveSheet.Shapes

Call ActieDoorVorm ... in naam van shape

Next


Is er iemand die me kan helpen?

Alvast bedankt.
Wocky
 

Bijlagen

  • 210104_Macro oproepen in naam van vorm.xlsm
    15,6 KB · Weergaven: 17
Volgens je voorbeeld zou je dat op deze manier kunnen doen:
Code:
Option Explicit

Sub ActieDoorVorm()
    adv Application.Caller
End Sub

Sub adv(strVormNaam As String)
[COLOR="#008000"]'Variabelen[/COLOR]
    Dim lngRij As Long
    Dim lngKolomBegin As Long
    
    With ActiveSheet.Shapes(strVormNaam)
        lngRij = .TopLeftCell.Row - 1
        lngKolomBegin = .TopLeftCell.Column
    
    End With
    
    ActiveSheet.Cells(lngRij, lngKolomBegin).Interior.Color = 200
End Sub
 
Keep it simple:
In de macromodule van Blad1:

Code:
Sub M_snb()
   ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(-1).Interior.Color = 500
End Sub

koppel de macro Blad1.M_snb aan vorm 'Rechthoek 1"

NB. 'Call' gebruiken we in VBA al niet meer sinds 1998.
 

Bijlagen

  • __210104_vormnaam_snb.xlsb
    13,3 KB · Weergaven: 16
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan