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

knop op werkblad zichtbaar houden

Status
Niet open voor verdere reacties.

nonono

Gebruiker
Lid geworden
28 jan 2009
Berichten
289
Een eerdere hulpaktie heeft geresulteerd in de macro:
“selecteer rijnummer, kopieer cellen, selecteer rijnummer, plak”

“Zoeken” op een product geeft de volgende 2 knoppen: “Stoppen” en “Volgende zoeken”. Deze knoppen blijven zichtbaar en “verhuizen” naar het venster waar de hit gevonden wordt.

Ik heb nu een knop “Kopieer” toegevoegd en de code aangepast.
Het “zoeken – volgende zoeken – stoppen” gaat goed, maar de Kopieer knop blijft op zijn oude positie.

Ik wil, dat deze knop:
- zichtbaar wordt na de eerste hit
- zichtbbaar blijft in het aktieve venster (zoals de andere 2 knoppen)

Hierbij heb ik aan de code de volgende regels toegevoegd (op het moment dat het fout gaat, heb ik bij de regel een apostrof gezet):

Code:
r.6   CommandButton3.Visible = False
r.13 CommandButton3.Visible = False
r.24 '  CommandButton3.Visible = True
r. 38 ' CommandButton3.Visible = False

r. 42 t/m 53
    Private Sub CommandButton3_Click()
    CommandButton3.Caption = "Kopieer"
t = t + 1
    Cells.Find(What:=strfind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
If t = lAant Then
    CommandButton1.Caption = "Zoeken naar"
    CommandButton2.Visible = False
    CommandButton3.Visible = False
 End If
End Sub

r. 64 t/m67
'   With ActiveWindow.VisibleRange.Resize(1, 1).Offset(10, 6)
'    CommandButton3.Top = .Top
'    CommandButton3.Left = .Left
'  End With

Op welke manier verhuist de Kopieer knop wel mee naar een verder gelegen hit?

Groet Nono

Bekijk bijlage 53_kopieer3.xls

Code:
1		Dim strfind As String, lAant As Integer, t As Integer
2		
3		Private Sub CommandButton1_Click()
4		On Error Resume Next
5		  CommandButton2.Visible = False
6		  CommandButton3.Visible = False
7		lAant = 0
8		t = 0
9		If CommandButton1.Caption = "Stoppen" Then
10		    Application.Goto [A1]
11		    CommandButton1.Caption = "Zoeken naar"
12		    CommandButton2.Visible = False
13		    CommandButton3.Visible = False
14		Else
15		 strfind = InputBox("Geef de zoekwaarde op")
16		 If strfind = "" Then Exit Sub
17		 lAant = WorksheetFunction.CountIf(Columns(3), "*" & strfind & "*")
18		 If lAant = 0 Then Exit Sub
19		  Cells.Find(What:=strfind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
20		        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
21		        False, SearchFormat:=False).Activate
22		  CommandButton1.Caption = "Stoppen"
23		  CommandButton2.Visible = True
24		'  CommandButton3.Visible = True
25		 t = t + 1
26		 End If
27		End Sub
28		
29		Private Sub CommandButton2_Click()
30		CommandButton1.Caption = "Stoppen"
31		t = t + 1
32		    Cells.Find(What:=strfind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
33		        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
34		        False, SearchFormat:=False).Activate
35		If t = lAant Then
36		    CommandButton1.Caption = "Zoeken naar"
37		    CommandButton2.Visible = False
38		'    CommandButton3.Visible = False
39		 End If
40		End Sub
41		
42		Private Sub CommandButton3_Click()
43		CommandButton3.Caption = "Kopieer"
44		t = t + 1
45		    Cells.Find(What:=strfind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
46		        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
47		        False, SearchFormat:=False).Activate
48		If t = lAant Then
49		    CommandButton1.Caption = "Zoeken naar"
50		    CommandButton2.Visible = False
51		    CommandButton3.Visible = False
52		 End If
53		End Sub
54		
55		Private Sub Worksheet_SelectionChange(ByVal Target As Range)
56		  With ActiveWindow.VisibleRange.Resize(1, 1).Offset(1, 6)
57		    CommandButton1.Top = .Top
58		    CommandButton1.Left = .Left
59		  End With
60		  With ActiveWindow.VisibleRange.Resize(1, 1).Offset(4, 6)
61		    CommandButton2.Top = .Top
62		    CommandButton2.Left = .Left
63		  End With
64		'   With ActiveWindow.VisibleRange.Resize(1, 1).Offset(10, 6)
65		'    CommandButton3.Top = .Top
66		'    CommandButton3.Left = .Left
67		'  End With
68		End Sub
 
Omdat je geen 'Commandbutton3' knop hebt aangemaakt, maar een 'gewone' knop uit de werkset.
Maak dus een knop uit de activeX-besturingselementen aan.
 
Laatst bewerkt:
Inderdaad.
Eerst een 'Commandbutton3' knop aangemaakt (View / Toolbars / Control Toolbox – Command Button).
Vervolgens de code uit de macro toegevoegd en daarna de regels 42 t/m 53 vervangen door:

Code:
Private Sub CommandButton3_Click()
    CommandButton3.Caption = "Kopieer"
     Sheets("Product").Cells(ActiveCell.Row, 1).Resize(, 5).Copy
End Sub

Ook alle apostrofs verwijderd en het werkt prima.
Bedankt voor de tip :thumb:

Groet Nono
 
Dan mag deze en al je andere opgeloste vragen op opgelost gezet worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan