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

Zoekscherm openen

Status
Niet open voor verdere reacties.

martijnbos

Gebruiker
Lid geworden
17 dec 2010
Berichten
101
Hallo allemaal,

Ik zou graag het volgende willen bereiken.
Nadat gebruiker een waarde heeft ingegeven in cel B8, dan moet Excel daarna automatisch naar tabblad "voorraadoverzicht" gaan.
Dat lukt prima via deze code:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
If Sheets("Aanvraagformulier").Range("b12").Value = "" Then
    If Sheets("Aanvraagformulier").Range("b8").Value <> "" Then
    Sheets("Voorraadoverzicht").Select
Range("B2").Select
End If
End If
End Sub

Nu wil ik echter nadat ie naar tabblad "voorraadoverzicht" is gegaan, daarna automatisch op dit tabblad een zoekscherm opent.
Daarvoor heb ik de code uitgebreid met:

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
If Sheets("Aanvraagformulier").Range("b12").Value = "" Then
    If Sheets("Aanvraagformulier").Range("b8").Value <> "" Then
    Sheets("Voorraadoverzicht").Select
Range("B2").Select
End If
End If
Dim vraag As String
  vraag = InputBox("Wat zoek je? ")
   If vraag = "" Then Exit Sub
  Cells.Find(What:=vraag, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate

End Sub


Probleem: het zoekscherm opent zich niet op tabblad "Voorraadoverzicht", maar op tabblad 'Aanvraagformulier . Iemand enig idee wat er mis is? Staat mij zoekscherm op een verkeerde plek oid?

Hoop dat iemand mij kan helpen.

Groeten,

Martijn
 
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sheets("Aanvraagformulier").Range("b12").Value = "" And Sheets("Aanvraagformulier").Range("b8").Value <> "" Then
    Application.Goto Sheets("Voorraadoverzicht").Range("B2"), True
End If
On Error GoTo vervolg
Cells.Find(InputBox("Wat zoek je? "), ActiveCell, xlFormulas, xlPart, xlByRows, xlNext, False).Activate
vervolg:
End Sub
 
Warme bakkertje,

Bedankt voor je reactie. Maar helaas werkt het niet zoals ik verwacht had.
Dit omdat hij direct na openen al met het scherm komt, en ook daarna blijft oppoppen.

Mijn insteek was dat het zoekscherm eenmalig werd geopend nadat een gebruiker een waarde had ingevuld in cel B8 in tabblad "aanvraagformulier". Na deze invulactie moet Excel via VBA naar blad "voorraadoverzicht" gaan. En als hij daar staat, dan eenmalig het zoekscherm openenen.

excuus indien bij vraagstelling niet duidelijk was.
 
Laatst bewerkt:
Verwijder je andere macro en plaats onderstaande in de bladmodule van werkblad Aanvraagformulier
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Set ws = Sheets("Voorraadoverzicht")
    If Target.Address = "$B$8" Then
    If Target.Value = "" Then Exit Sub
        If Target.Value <> "" And Target.Offset(4).Value = "" Then
            Application.Goto ws.Range("B2"), True
        End If
        On Error GoTo vervolg
        ws.Cells.Find(InputBox("Wat zoek je? "), , xlValues, xlWhole).Activate
    End If
vervolg:
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan