• 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.

Cel(len) met bepaalde inhoud selecteren met macro

Status
Niet open voor verdere reacties.

mvdvlist

Gebruiker
Lid geworden
16 dec 2016
Berichten
738
Hallo beste helpers,

hoe kan ik DIT het handigst doen met een macro achter iedere Shape:



Als er bijvoorbeeld op Shape A-1 wordt geklikt, word(en)t de cel(len) of regel(s) met dezelfde inhoud in kolom C van kleur veranderd (of geselecteerd).

Als er op een andere Shape wordt geklikt gebeurt hetzelfde, maar dan worden de veranderingen van de vorige klik ongedaan gemaakt.

Het gaat er alleen om dat de cel of regel opvalt, hoe maakt niet zo veel uit...Op kleur lijkt me het duidelijkst.
 

Bijlagen

  • ATC Planning.xlsb
    460,8 KB · Weergaven: 16
Deze achter iedere shape

Code:
Sub j()
 With ActiveSheet
  .Columns(3).Interior.ColorIndex = 0
   For Each cl In .Cells(1).CurrentRegion.Columns(3).Cells
     If cl = .Shapes(Application.Caller).Name Then cl.Interior.ColorIndex = 4
   Next
 End With
End Sub

Deze zou je vervolgens kunnen runnen om alle shapes te koppelen aan de macro. Scheelt je weer wat tijd;)
Code:
Sub jvv()
 For Each sh In ActiveSheet.Shapes
   sh.OnAction = "j"
 Next
End Sub
 
Laatst bewerkt:
Als elke naam van een plaatje in kolom C staat kan het zonder lus.
 
Met VBA in combinatie met VO neem ik aan?

Achter de shapes:

Code:
Sub j()
[E1] = ActiveSheet.Shapes(Application.Caller).Name
End Sub

In de VO van kolom C
Code:
=$C2=$E$1
 
Laatst bewerkt:
Match ipv wat?
 
Ook als er meerdere matches zijn?
 
Zie jij die staan?
 
In het voorbeeld niet maar gok dat t wel zo kan zijn
 
Mannen, hartelijk dank. Weer zeer veel geleerd. De code van JVeer volstaat. Ik heb haar alleen aangepast om de NAAM van de persoon te kleuren.
De code is als volgt geworden:

Code:
Sub j()
 With ActiveSheet
  .Columns([COLOR="#FF0000"]1[/COLOR]).Interior.ColorIndex = 0
   For Each cl In .Cells(1).CurrentRegion.Columns(3).Cells
     If cl = .Shapes(Application.Caller).Name Then cl.[COLOR="#FF0000"]Offset(0, -2)[/COLOR].Interior.ColorIndex = 4
   Next
 End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan