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

zoeken naar een waarde in een kolom

Status
Niet open voor verdere reacties.
Sorry, foutje.
Het werkt, maar niet zoals ik zou willen. Er wordt direct naar Sheet2 gekopieerd.
Het moet eerst naar het clipboard en vorvolgens kan ik zelf kiezen waar ik wil plakken.

Bedankt Nono
 
Code:
Sheets("Product").Cells(ActiveCell.Row, 1).Resize(, 5).Copy
 
En zo gaat kopiëren en plakken prima.
Zowel binnen Excel als naar een ander document.
Bedankt voor je inspanningen.

Groet Nono
 
Een laatste bugje.
Bij foute invoer dan:
1. Run-time error ‘91’
2. Klik ‘End’ en je komt weer terug bij ‘Zoeken’ naar
3. Klik ‘Debug’ dan moet je debug afsluiten om terug te keren naar ‘Zoeken naar’

Als ‘On Error Resume Next’ wordt toegevoegd dan:
4. Geen foutmeldeing
5. Wel verschijnt de knop ‘Volgende zoeken’
6. Druk je hierop, dan komt ook Run-time error ‘91’
7. Vervolgens is ad2) en ad3) weer van toepassing

De knop ‘Stoppen’ verschijnt pas als je op ‘Volgende zoeken’ klikt bij correcte invoer.
En kan dus niet gebruikt worden bij foute invoer.


Heb je hiervoor nog een oplossing?

Bedankt Nono
 

Bijlagen

Zet deze onder de initialisatie van de variabele lAant
Code:
If lAant = 0 Then Exit Sub
 
Ik heb de code

a) na regel 6 geplaatst, maar dan gebeurt er niets met klik op 'Zoeken naar'
b) na regel 32, maar dan blijft alles bij het oude

Na welke regel moet de code worden toegevoegd?

Groet Nono

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	lAant = 0	
7	t = 0	
8	If CommandButton1.Caption = "Stoppen" Then	
9	    Application.Goto [A1]	
10	    CommandButton1.Caption = "Zoeken naar"	
11	    CommandButton2.Visible = False	
12	Else	
13	 strfind = InputBox("Geef de zoekwaarde op")	
14	 If strfind = "" Then Exit Sub	
15	 lAant = WorksheetFunction.CountIf(Columns(3), "*" & strfind & "*")	
16	  Cells.Find(What:=strfind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _	
17	        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _	
18	        False, SearchFormat:=False).Activate	
19	 CommandButton2.Visible = True	
20	 t = t + 1	
21	 End If	
22	End Sub	
23		
24	Private Sub CommandButton2_Click()	
25	CommandButton1.Caption = "Stoppen"	
26	t = t + 1	
27	    Cells.Find(What:=strfind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _	
28	        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _	
29	        False, SearchFormat:=False).Activate	
30	If t = lAant Then	
31	    CommandButton2.Visible = False	
32	    CommandButton1.Caption = "Zoeken naar"	
33	End If	
34	End Sub	
35		
36	Private Sub Worksheet_SelectionChange(ByVal Target As Range)	
37	  With ActiveWindow.VisibleRange.Resize(1, 1).Offset(1, 6)	
38	    CommandButton1.Top = .Top	
39	    CommandButton1.Left = .Left	
40	  End With	
41	  With ActiveWindow.VisibleRange.Resize(1, 1).Offset(4, 6)	
42	    CommandButton2.Top = .Top	
43	    CommandButton2.Left = .Left	
44	  End With	
45	End Sub
 
Waar wordt de waarde van lAant bepaald, denk je ?
Code:
lAant = WorksheetFunction.CountIf(Columns(3), "*" & strfind & "*")
Dus waar moet de regel dan komen ? Probeer nu voor jezelf ook eens uit te zoeken waarom er niets meer gebeurd als je hem na regel 6 zet als je weet dat Exit Sub wil zeggen 'Als aan de voorwaarde voldaan wordt verlaat vanop dit punt de code'
 
Laatst bewerkt:
Ja die heb ik inderdaad door vierkante oogjes over het hoofd gezien.

Bedankt Nono
 
Het werkt allemaal prima, maar ik heb nog één vraag.
Ik heb geprobeerd om het verschijnen van de knop Stoppen gelijk ná de eerste hit te tonen. Nu is het:
na eerste hit: “Zoeken naar” en “Volgende zoeken”
na tweede hit: “Stoppen” en “Volgende zoeken”

Achtereenvolgens apostrof op:
- On Error Resume Next
- t=0 en t=t+1 (2x)

Zoekaktie: geen foutmeldingen

Wijzigen van de variabele t of weglaten ervan heeft geen invloed op de zoekaktie. De enige ‘t’ die is blijven staan is
“If t = lAant Then”. Voor deze ‘t’ kan elke willekeurige letter gekozen worden.

Hoe kun je de knop Stoppen laten verschijnen na de eerste hit?

Groet Nono
 
Probeer de rode regel eens tussen de zwarte te plaatsen in je code.
Code:
CommandButton2.Visible = True
 [COLOR="red"]CommandButton1.Caption = "Stoppen"[/COLOR]
 t = t + 1
 
En deze clown heeft inderdaad een heel leuke oplossing.
Het werkt prima!

Bedankt Nono :d
 
En deze clown heeft inderdaad een heel leuke oplossing.
Het werkt prima!

Bedankt Nono :d

Graag gedaan Nono.
Als er geen vragen meer zijn, kan je de vraag als opgelost zetten.
Bvd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan