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

Bij dubbelklik naar geselecteerde waarde op een ander werkblad

Status
Niet open voor verdere reacties.

Severijns

Gebruiker
Lid geworden
6 jul 2018
Berichten
139
Geachte forumleden,

Een tijd je terug heb ik een soortgelijke vraag gesteld en mijn vraag werd toen goed opgelost.
Edoch de code die ik gebruikte werkt om de een of andere reden niet meer.
Ik gebruik de onderstaande code om bij een dubbelklik naar geselecteerde waarde op een ander werkblad te gaan:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  
    Dim vFind
    Dim lLoop As Long
    Dim rFound As Range
    
    vFind = ActiveCell
        If Intersect(ActiveCell, Range("M8:M27")) Is Nothing Then
            If Intersect(ActiveCell, Range("AH8:AH27")) Is Nothing Then
    Exit Sub
            End If
        End If

    On Error Resume Next
    For lLoop = ActiveSheet.Index + 1 To Sheets.Count
         With Sheets(lLoop)
                Set rFound = .UsedRange.Find(What:=vFind, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:= _
                        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
                 If Not rFound Is Nothing Then
                     Application.Goto rFound, True
                     Exit For
                 End If
         End With
    Next lLoop
   
    ActiveCell.Select

End Sub
In het verleden werkte dit maar nu dus niet meer.
Ik krijg tegenwoordig bij een dubbelklik telkens de onderstaande foutmelding.

Foutmelding.png

Heeft iemand wellicht enig idee wat er mis gaat in mijn bestand.
Bestand is toegevoegd.

Bij voorbaat dank,

Rob
 

Bijlagen

Oplossing, na vele mislukkingen, door puur toeval gevonden :D
Hopelijk kan iemand mij uitleggen waarom het nu wel werkt?

Wijziging aangebracht in onderstaande deel van de code.
Code:
                Set rFound = .UsedRange.Find(What:=vFind, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:= _
                        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
Verandert in:
Code:
                Set rFound = .UsedRange.Find(What:=vFind, After:=.Cells(1, [COLOR="#FF0000"]8[/COLOR]), LookIn:=xlValues, LookAt:= _
                        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)

Zal de vraag binnenkort als opgelost markeren.

Met vriendelijke groet,

Rob
 
De eerste 7 regels zullen een fout 13 opleveren vanwege een ander datatype dan het gezochte.
Door die On Error Resume Next zie je die melding niet.
Maar de fout is er dan wel degelijk en die regel hoort daar naar mijn mening niet.
 
Beste Edmoor,

Hartelijk dank voor je reactie. :thumb:
Ik zal de betreffende regel weghalen en de vraag als opgelost markeren.

Met vriendelijke groet,

Rob
 
Je kan zo'n regel best gebruiken, maar alleen als je zeker weet dat er een fout kan optreden die niet van invloed is op de werking van de routine.
Daar is het eigenlijk voor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan