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

Module werkt wel met Office 2003 en niet met office 2000

Status
Niet open voor verdere reacties.

perry99

Gebruiker
Lid geworden
3 feb 2007
Berichten
106
Hallo,

Wie kan mij helpen met onderstaand probleem?????

Onder excel 2003 werkt onderstaande perfect echter onder excel 2000 niet.

Moet ik iets aanpassen of zoiets, wie kan mij helpen.

Kom er zelf niet meer uit.

HTML:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sAdres          As String

    If Target.Column <> 10 Then Exit Sub 'in foute kolom gedubbelklikt...
    
    On Error Resume Next
    
    sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target, After:=Range("A1"), LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Address
        
    If sAdres = "" Then 'het nummer is niet gevonden!
        MsgBox "Geen match gevonden...", vbOKOnly, "Mismatch"
        Exit Sub
    End If
    
    On Error GoTo 0
    
    With Sheets("ADRESSEN").Range(sAdres)
        MsgBox "Gevonden gegevens bij debiteurnummer:     " & .Offset(, 0).Value & Chr(13) & _
            "" & Chr(13) & _
            "Naam           = " & .Offset(, 3).Value & Chr(13) & _
            "Adres          =  " & .Offset(, 4).Value & Chr(13) & _
            "Postcode     =  " & .Offset(, 5).Value & Chr(13) & _
            "Plaats          =  " & .Offset(, 6).Value & Chr(13) & _
            "" & Chr(13) & _
            "Telefoon      =  " & .Offset(, 7).Value & _
            "  -   " & .Offset(, 8).Value & Chr(13) & _
            "" & Chr(13) & _
            "E-mail          =  " & .Offset(, 12).Value, _
            vbOKOnly, "Zoekresultaat..."
    End With

End Sub

Alvast bedankt.

Perry
 
Kan je iets preciezer zijn door te zeggen wat er niet werkt?
Is het een foutmelding op een bepaalde regel in de code, of is het resultaat anders dan gedacht?

Graag iets meer gegevens zodat we wat gerichter kunnen zoeken.
 
Hallo Finch,

Heb een testbestandje bijgevoegd.

Dubbelklik op cel J17 in sheet main geeft als resultaat "geen resultaat gevonden" onder
excel 2000 en onder excel 2007 werkt het perfect.

Alvast bedankt voor de moeite.

Perry
 

Bijlagen

Ik kan dit jammer genoeg ook niet testen, aangezien ik ook Excel 2007 gebruik.

Ik heb wel een suggestie om het misschien op te lossen.

Vervander in de code volgende regel:

If sAdres = "" Then 'het nummer is niet gevonden!

in

If sAdres = empty Then 'het nummer is niet gevonden!


Moest dat geen soelaas brengen, veronderstel ik dat de fout zit in het datatype van de cel.
Hiervoor verander je bovenstaande code terug naar het origineel, en zet je de celeigenschap van de cel eens op tekst en dan eens testen. Vervolgens zet je de celeigenschap ook eens op standaard en op getal. Misschien dat dit iets helpt.
Je laat het maar weten.
 
Helaas, heb hetgeen wat je zei uitgeprobeerd, maar werkt niet.

Weet het zelf ook niet meer, wat er aan de hand kan zijn.

Hoop dat jij of iemand anders mij kan helpen.

Groetjes,

Perry :( :( :(
 
ik zie dat ik een fout gemaakt heb in mijn vorige post.
Verander de code is naar:
If sAdres is nothing Then 'het nummer is niet gevonden!


Anders moet je eens proberen te code te debuggen. Dan kan je onderzoeken waar het fout gaat. Nogmaals het is moeilijk een fout te zoeken als je ze niet kan simuleren (wegens gebrek aan Excel 2000).
 
Sorry Finch,

Krijg het debuggen niet voor elkaar.

Heb net ook thuis excel 2000 geïnstalleerd en blijf hetzelfde probleem houden.

Denk dat de module in excel 2007 geaccepteerd wordt en in 2000 niet, maar wat?????

Groetjes,

Perry :( :( :(
 
Wat ik me net bedenk. Je hebt je beveiligingsniveau voor macro's toch ook niet hoog ingesteld? Je moet namelijk macro's toelaten, al dan niet met bevestiging.
 
Staat op laag.

Maar toch heel erg bedankt voor het meedenken, wie weet straaks schot in de roos.

Perry
 
Zet volgende code eens voor de regel "If sAdres = "" Then 'het nummer is niet gevonden!"
:

MsgBox Sheets("adressen").Cells(1, 1)
MsgBox sAdres
MsgBox Target

en laat eens weten wat er dan in die msgboxen komt te staan wanneer je dubbelklikt op een zoekveld. Dan kunnen we misschien de oorzaak achterhalen.
 
hallo Finch,

Gedaan, en navolgende krijg ik:
2x klik J17 krijg tekst deb nr: vervolgens
1x klik J17 krijg niks in msg.box vervolgens
1x klik J17 krijg 158510 vervolgens
1x klik J17 krijg niks in msg.box

We beginnen wat in het schermpje te krijgen.

Maar nu, hoe verder.

Perry



HTML:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sAdres          As String

    If Target.Column <> 10 Then Exit Sub 'in foute kolom gedubbelklikt...
    
    On Error Resume Next
    
    sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target, After:=Range("A1"), LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Address
        
        MsgBox Sheets("ADRESSEN").Cells(1, 1)
        MsgBox sAdres
        MsgBox Target
  
                  
    If sAdres = "" Then 'het nummer is niet gevonden!
        MsgBox "Geen match gevonden...", vbOKOnly, "Mismatch"
        Exit Sub
    End If
    
    On Error GoTo 0
            
    With Sheets("ADRESSEN").Range(sAdres)
        MsgBox "Gevonden gegevens bij debiteurnummer: " & .Offset(, 0).Value & Chr(13) & _
            "Naam           = " & .Offset(, 3).Value & Chr(13) & _
            "Adres          =  " & .Offset(, 4).Value & Chr(13) & _
            "Postcode     =  " & .Offset(, 5).Value & Chr(13) & _
            "Plaats         =  " & .Offset(, 6).Value & Chr(13) & _
            "Telefoon          =  " & .Offset(, 7).Value & " " & .Offset(, 8).Value, _
            vbOKOnly, "Zoekresultaat..."
    End With

End Sub
 
[code[
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sAdres As range

If Target.Column <> 10 Then Exit Sub 'in foute kolom gedubbelklikt...

On Error Resume Next

set sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target, After:=Range("A1"), LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Address

MsgBox Sheets("ADRESSEN").Cells(1, 1)
MsgBox sAdres
MsgBox Target


If sAdres = "" Then 'het nummer is niet gevonden!
MsgBox "Geen match gevonden...", vbOKOnly, "Mismatch"
Exit Sub
End If

On Error GoTo 0

With Sheets("ADRESSEN").Range(sAdres)
MsgBox "Gevonden gegevens bij debiteurnummer: " & .Offset(, 0).Value & Chr(13) & _
"Naam = " & .Offset(, 3).Value & Chr(13) & _
"Adres = " & .Offset(, 4).Value & Chr(13) & _
"Postcode = " & .Offset(, 5).Value & Chr(13) & _
"Plaats = " & .Offset(, 6).Value & Chr(13) & _
"Telefoon = " & .Offset(, 7).Value & " " & .Offset(, 8).Value, _
vbOKOnly, "Zoekresultaat..."
End With

End Sub[/code]

Voer dat eens uit. Die is licht gewijzigd van datatype, en zou misschien kunnen lukken.
 
Nee, helaas.

Navolgende krijg ik:
2x klik J17 krijg tekst deb nr: vervolgens
1x klik J17 krijg 158510 vervolgens
1x klik J17 krijg niks in msg.box

Om moedeloos van te worden he Finch.

Perry :( :( :( :( :(
 
Wat geeft deze code?

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sAdres As Range

    If Target.Column <> 10 Then Exit Sub 'in foute kolom gedubbelklikt...
    
    'On Error Resume Next
    
    Set sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target, After:=Range("A1"), LookIn:=xlValues, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
    
 '   MsgBox sAdres.Address
    
    If sAdres Is Nothing Then 'het nummer is niet gevonden!
        MsgBox "Geen match gevonden...", vbOKOnly, "Mismatch"
        Exit Sub
    End If
    
    On Error GoTo 0
    
    With sAdres
        MsgBox "Gevonden gegevens bij debiteurnummer: " & .Offset(, 0).Value & Chr(13) & _
            "Naam           = " & .Offset(, 3).Value & Chr(13) & _
            "Adres          =  " & .Offset(, 4).Value & Chr(13) & _
            "Postcode     =  " & .Offset(, 5).Value & Chr(13) & _
            "Plaats         =  " & .Offset(, 6).Value & Chr(13) & _
            "Telefoon          =  " & .Offset(, 7).Value & " " & .Offset(, 8).Value, _
            vbOKOnly, "Zoekresultaat..."
    End With

End Sub
 
Krijg foutmelding 448 "Kan de benoemde argument niet vinden" vervolgens
foutopsporing gedaan en navolgende wordt geel

HTML:
Set sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target, After:=Range("A1"), LookIn:=xlValues, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)

Perry :( :( :( :(
 
Krijg foutmelding 448 "Kan de benoemde argument niet vinden" vervolgens
foutopsporing gedaan en navolgende wordt geel

HTML:
Set sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target, After:=Range("A1"), LookIn:=xlValues, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)

Perry :( :( :( :(


Ik *denk* dat de range.find in Excel 2000 dat anders gedefinieerd is. Maar kan dat niet testen. Probeer anders eens een minimale find structuur. Dus volgende code:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sAdres As Range

    If Target.Column <> 10 Then Exit Sub 'in foute kolom gedubbelklikt...
    
    'On Error Resume Next
    
    Set sAdres = Sheets("ADRESSEN").Columns(1).Find(What:=Target)
    
 '   MsgBox sAdres.Address
    
    If sAdres Is Nothing Then 'het nummer is niet gevonden!
        MsgBox "Geen match gevonden...", vbOKOnly, "Mismatch"
        Exit Sub
    End If
    
    On Error GoTo 0
    
    With sAdres
        MsgBox "Gevonden gegevens bij debiteurnummer: " & .Offset(, 0).Value & Chr(13) & _
            "Naam           = " & .Offset(, 3).Value & Chr(13) & _
            "Adres          =  " & .Offset(, 4).Value & Chr(13) & _
            "Postcode     =  " & .Offset(, 5).Value & Chr(13) & _
            "Plaats         =  " & .Offset(, 6).Value & Chr(13) & _
            "Telefoon          =  " & .Offset(, 7).Value & " " & .Offset(, 8).Value, _
            vbOKOnly, "Zoekresultaat..."
    End With

End Sub

edit: als dat nog niet werk misschien deze regel is proberen in de plaats:

Set sAdres = Sheets("ADRESSEN").range("A1:A65536").Find(What:=Target)

evt met alle achtervoegsel uit de oorspronkelijke code.
 
Laatst bewerkt:
Perry99, De eigenschap SearchFormat:=False was nog niet bekend in Excel2000. Haal die maar 'ns weg....

Groet, Leo
 
Laatst bewerkt:
Hallo Leo,

Wederom je bent een kanjer, het werkt perfect.

Mijn dank.

Groetjes,

Perry :thumb: :thumb: :thumb: :thumb: :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan