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

Code verbeteren

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Eerst: Het bijgevoegde bestand is er alleen maar kunnen komen, dank zij de kennis en kunde van VenA en SNB.

Vraag:
Medewerkers moeten snel gecontacteerd kunnen worden, in geval van …………..
Daarom kan men dubbelklikken op een naam, en dan verschijnt het tel.nr. van de betrokken werknemer.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    [COLOR="#FF0000"]If Not Intersect(Target, Cells(4, 4).Resize(369, 16)) Is Nothing Then
        If Intersect(Target, Cells(4, 4).Resize(369, 16)) <> "" Then[/COLOR]
        tel = Sheets(2).Columns(12).Find(Target.Value).Offset(, 1).Value
        MsgBox "Telefoonnr. van " & Target.Value & " : " & tel, , "Telefoonnummers"
        End If
    End If
Cancel = True
End Sub
In de code moet aan 2 voorwaarden voldaan worden, om de MsgBox op te roepen.
Ik denk dat ik die 2 voorwaarden op een stuntelige manier geschreven heb.
Mogelijk is er iemand die de 2 regels kan herleiden tot 1 regel?
 

Bijlagen

Zo?
Code:
If Not Intersect(Target, Cells(4, 4).Resize(369, 16)) Is Nothing and Target.Value <>"" Then
 
Iets degelijker wel, maar dat komt ook door nieuwere versies van Excel dat ik de validaties niet kan zien.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  
  If Not Intersect(Target, Cells(4, 4).Resize(369, 16)) Is Nothing Then
        If Target <> "" Then
         Set tel = Sheets(2).Columns(12).Find(Target.Value)
            If Not tel Is Nothing Then
                MsgBox "Telefoonnr. van " & Target.Value & " : " & tel.Offset(, 1), , "Telefoonnummers"
                Cancel = True
           End If
        End If
    End If
End Sub
 
en je formule voor pinsteren klopt ook niet deze valt nu op maandag en dinsdag ;)
 
Dat is het Albert, bedankt voor de snelle reactie.
Grtn, wieter
Ook Harry en Marco bedankt voor de info.
 
Laatst bewerkt:
waarom
Code:
If Not Intersect(Target, Cells(4, 4).Resize(369, 16))
en niet
Code:
If Not Intersect(Target,Range("D4:S369"))

Is hier een speciale reden voor.?
 
Geen speciale reden, Albert.
Maar soms zit men zo vast geroest in een bepaalde manier van werken, dat men de gemakkelijke weg over het hoofd ziet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan