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

macrobutton laten verschijnen na selecteren cel

Status
Niet open voor verdere reacties.

westra

Gebruiker
Lid geworden
15 okt 2012
Berichten
5
hallo
1)in de bijlage een documentje waarin ik graag zou willen dat bij het selecteren van e1 de button (in g1) (zoals weergegeven in het bestand)verschijnt. Indien een andere cel wordt geselcteerd dan dient de button weer te verdwijnen.

2) ook zou in graag willen dat indien men op e4 drukt hetzelfde formulier wordt aangeroepen, alleen nu met de naast liggende cellen gekoppeld.

hopelijk verduidelijkt het bestandje precies wat ik bedoel
wie kan,wil mij helpen
alvast bedankt
 

Bijlagen

Je laat de waarden nu hard wegzetten in drie cellen in rij 1. Dat kun je flexibeler oplossen:
'
Code:
            Range("h" & ActiveCell.Row).Value = ListBox1.List(litem, 2)
            Range("g" & ActiveCell.Row).Value = ListBox1.List(litem, 1)
            Range("e" & ActiveCell.Row).Value = ListBox1.List(litem, 0)
 
alvast bedankt,deze oplossing is inderdaad beter, hierdoor is vraag 2 opgelost echter
omdat je werkt met activecell is het des te belangrijker om de verschillende macroknoppen zichtbaar te maken indien men de cel selecteerd.
Hierdoor komen de verwiijzingen altijd in de juiste cel te staan.
heb je hier ook een oplossing voor?
 
Je gebruikt voor cel E1 al een gebeurtenis op Werkblad niveau; ik zou die voor de hele kolom gebruiken, want dan heb je al die knoppen niet eens nodig.
 
op zich heb je hier gelijk in. Het moet voor de gebruiker echter mogelijk zijn om een waarde in te vullen in de kolom e, nu verschijnt elke keer als er een cel wordt geslecteerd in kolom e het formulier. Deze moet eerst worden weggeklikt waarna handmatig een waarde ingevuld kan worden. De macro knop met 3 puntjes geeft een keuze aan, maar is niet leidend voor de inhoud van cel e.
 
Ik zou dan met één knop werken, die je meeschuift met de aangeklikte cel.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

    With ActiveSheet.Shapes("Button 1")
        .Top = ActiveCell.Row * 12.75 - 12.75
    End With

    If Not Intersect(Target, Range("e" & ActiveCell.Row)) Is Nothing Then
        UserForm_Mr_Magoo.Show
    End If

End Sub
De hoogte is de standaardhoogte van een rij; heb je verschillende hoogtes dan moet je de hoogte eerst berekenen.
 
ik wordtnu beperkt in mijn excel kennis:
de oplossing die je biedt voldoet steeds beter aan het uiteindelijke doel.(alvast bedankt hiervoor)
er gebeuren voor mij echter 2 vreemde dingen:
1) indien ik op de kolommen rechts van kolom e een cel selecteer, krijg ik de oplossing die ik zoek, echter dit gebeurt op elke cel rechts van kolom e. Als ik in kolom e een cel selecteer krijg ik nog steeds het fomulier als eerste. (cellen rechts van kolom e bieden dus de perfecteoploosing)Dit zou zich echter moeten beperken tot de eerste kolom naast macroknop.

2) De volledige kolom e geeft de oplossing, kan dit ook beperkt worden tot e1:e10
 

Bijlagen

Laatst bewerkt:
bij deze mijn oplossing:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    ActiveSheet.Range("e1:e10").RowHeight = 12.75
    With ActiveSheet.Shapes("Button 1")
        .Top = ActiveCell.Row * 12.75 - 12.75
    End With

    If Not Intersect(Target, Range("e1:e10")) Is Nothing Then
        ActiveSheet.Shapes("Button 1").Visible = True
    Else
        ActiveSheet.Shapes("Button 1").Visible = False
    
    End If

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan