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

kolom verbergt na inschakelen zoeken

  • Onderwerp starter Onderwerp starter bta
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.
Belangrijk!

Laat helpers enkel files downloaden die niet ingrijpen in hun Excel omgeving.

(Zoals Application.OnKey, het foeteren met werkbalken, enz.)

Als er fouten zitten in jouw code, is de kans groot dat je de Excel omgeving van helpers naar de "verandert").

Waarom geen hele simpele voorbeeldfile met slechts de code die hier van toepassing is?

Wigi
 
@ Wigi
Bedankt voor de waarschuwing :thumb:

@bta
Wijzig deze regel (2 X)
Code:
Application.GoTo reference:=Found, Scroll:=True
in
Code:
Application.GoTo Found.Offset(, -1), True
 
Laatst bewerkt:
Rudi en Wigi, dankjewel.
Hij begint met zoeken in kolom A (als ik bv zoek op "wit"), gaat door naar kolom B en vervolgens raakt kolom A weer verborgen:-(
Enig idee? Gr. BTA
 
Daarom schreef ik ook (2X)
Code:
Sub Ffind()
Dim Found As Range, tempcell As Range, Response As Integer, X
X = InputBox("Please enter what you want to find")
Set Found = Columns("B").Find(What:=X, LookIn:=xlValues, lookat:=xlPart)
If Found Is Nothing Then
    MsgBox X & " Not Found"
    Exit Sub
Else
    [COLOR="Red"]Application.GoTo Found.Offset(, -1), True[/COLOR]
End If
If MsgBox("Find again", vbYesNo) = vbYes Then
    Do
        Set tempcell = Columns("B").FindNext(After:=Found)
        If Found.Row >= tempcell.Row And Found.Column >= tempcell.Column Then
            MsgBox "Not found again"
            Exit Do
        End If
        Set Found = tempcell
        [COLOR="red"]Application.GoTo Found.Offset(, -1), True[/COLOR]
        If MsgBox("Find again", vbYesNo) = vbNo Then Exit Do
    Loop
End If
End Sub
 
Laatst bewerkt:
Dank je Rudi.
Als op annuleren wordt geklikt of ik probeer het zoekschermpje via de kruis rechtsboven uit te schakelen, dus zonder zoekterm, krijg ik toch het berichtenschermpje met "verder zoeken?". Is daar nog iets aan te doen? Gr. BTA
 
Code:
Sub Ffind()
Dim Found As Range, tempcell As Range, X As Variant
X = InputBox("Please enter what you want to find")
If X <> "" Then
Set Found = Columns(2).Find(X, , xlValues, xlPart)
If Found Is Nothing Then
    MsgBox X & " Not Found"
    Exit Sub
Else
    Application.GoTo Found.Offset(, -1), True
End If
If MsgBox("Find again", vbYesNo) = vbYes Then
    Do
        Set tempcell = Columns(2).FindNext(After:=Found)
        If Found.Row >= tempcell.Row And Found.Column >= tempcell.Column Then
            MsgBox "Not found again"
            Exit Do
        End If
        Set Found = tempcell
        Application.GoTo Found.Offset(, -1), True
        If MsgBox("Find again", vbYesNo) = vbNo Then Exit Do
    Loop
End If
Else: Exit Sub
End If
End Sub
 
Helemaal hartstikke goed Rudi.
Ik durf het bijna niet te vragen, maar nooit geschoten is altijd mis: Is het misschien ook nog mogelijk om, als er iets gevonden is, de cel (in kolom B) een kleurtje mee te geven?
Gr. BTA
 
Code:
Sub Ffind()
Dim Found As Range, tempcell As Range, X As Variant
[COLOR="Red"]Range("B3:B" & Cells(Rows.Count, 2).End(xlUp).Row).Interior.ColorIndex = xlNone[/COLOR]
X = InputBox("Please enter what you want to find")
If X <> "" Then
Set Found = Columns(2).Find(X, , xlValues, xlPart)
If Found Is Nothing Then
    MsgBox X & " Not Found"
    Exit Sub
Else
    Application.GoTo Found.Offset(, -1), True
  [COLOR="Red"]  Found.Interior.ColorIndex = 3[/COLOR]
End If
If MsgBox("Find again", vbYesNo) = vbYes Then
    Do
        Set tempcell = Columns(2).FindNext(After:=Found)
        If Found.Row >= tempcell.Row And Found.Column >= tempcell.Column Then
            MsgBox "Not found again"
            Exit Do
        End If
        Set Found = tempcell
        Application.GoTo Found.Offset(, -1), True
        [COLOR="red"]Found.Interior.ColorIndex = 3[/COLOR]
        If MsgBox("Find again", vbYesNo) = vbNo Then Exit Do
    Loop
End If
Else: Exit Sub
End If
End Sub
 
Laatst bewerkt:
Rudi,
De gevonden cellen blijven een rode achtergrond houden, ook als na (b.v.) "etiket" is gezocht, op "schrijfblok" wordt gezocht. Het liefst zou ik zien dat als een volgende (b.v.) "etiket" wordt gevonden de rode achtergrond van de cel van de vorige gevonden "etiket" weer gewoon een witte achtergrond heeft. Als dat niet kan dan in ieder geval weer gewone witte achtergronden als de zoekopdracht met "etiket" is afgerond en een nieuwe zoekopdracht wordt begonnen.
Ook is het zo dat als ik de bestellijst aanmaak en wil wijzigen en dus terugga naar het blad artikelen, alle gevonden cellen een rode achtergrondkleur blijven houden. Is dit nog te verhelpen of is dit te veel gevraagd??? Gr. BTA
 
Code:
Private Sub Worksheet_Activate()
    Range("B3:B" & Cells(Rows.Count, 2).End(xlUp).Row).Interior.ColorIndex = xlNone
End Sub

Sub Ffind()
Dim Found As Range, tempcell As Range, X As Variant
Range("B3:B" & Cells(Rows.Count, 2).End(xlUp).Row).Interior.ColorIndex = xlNone
X = InputBox("Please enter what you want to find")
If X <> "" Then
Set Found = Columns(2).Find(X, , xlValues, xlPart)
If Found Is Nothing Then
    MsgBox X & " Not Found"
    Exit Sub
Else
    Application.GoTo Found.Offset(, -1), True
    Found.Interior.ColorIndex = 3
End If
If MsgBox("Find again", vbYesNo) = vbYes Then
    Do
        Set tempcell = Columns(2).FindNext(After:=Found)
        If Found.Row >= tempcell.Row And Found.Column >= tempcell.Column Then
            MsgBox "Not found again"
            Exit Do
        End If
        Set Found = tempcell
        Range("B3:B" & Cells(Rows.Count, 2).End(xlUp).Row).Interior.ColorIndex = xlNone
        Application.GoTo Found.Offset(, -1), True
        Found.Interior.ColorIndex = 3
        If MsgBox("Find again", vbYesNo) = vbNo Then Exit Do
    Loop
End If
Else: Exit Sub
End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan