Code ".Find" zoekt getal 1 maar vind 10

Status
Niet open voor verdere reacties.

Oude leerling

Gebruiker
Lid geworden
30 aug 2010
Berichten
554
Geacht forum,

Ik kan het niet vinden waarom het fout gaat
Alles lijkt het goed te doen maar als q 1 is (Een van de getallen in het biljartrooster)
dan komt "Set persoon" bij L.Goes uit , de nummer 10 i.p.v. K.de Boer de nummer 1

zie de bijlage voor meer info.
Vriendelijke groet , Jaap





Code:
c = Cells(8, 7)              'welke partij
With Range("J3:J38")
 rij = .Cells.Find(c).Row    'op welke regel is die partij te vinden
End With

 For J = 0 To Sheets("Lijsten printen").Range("C33").End(xlUp).Row
       q = Cells(rij, 12 + J).Value
     With Sheets("Lijsten printen").Range("A1:C28")
       Set persoon = .Cells.Find(q).Offset(0, 2)
       persoon.Copy
       Sheets("Lijst").Range("A" & 4 + i).PasteSpecial Paste:=xlPasteValues
     End With
 

Bijlagen

  • test lijst printen.xlsm
    49,6 KB · Weergaven: 38
Maar er eens dit van:
Code:
rij = .Cells.Find(c, , , xlWhole).Row
 
Raar ,
nu komt ie met een foutmelding,
"Objectvariable of Blokvarable With is niet ingesteld".

Voor jouw suggestie kwam deze foutmelding niet
en gaf hij bij q=1 de naam van 10

Wat is er nou mis met het "With" gedeelte?
 
Als ik mijn wijziging in jouw document doe werkt wat je vroeg in ieder geval prima.
Wat de rest van de code doet heb ik niet naar gekeken.

Laat dus zien wat je hebt gedaan.
 
Hierbij het gewijzigde programma.
 

Bijlagen

  • test lijst printen 2.xlsm
    49,8 KB · Weergaven: 39
Edmoor,
Ik krijg een e-mailtje tijd 15:23 uur dat je gereageerd heb maar zie jou reactie niet
 
Ik had iets geplaatst dat bij nader inzien niet goed was en heb het dus weer verwijderd.
 
Oké, dat was het dus.
No problem!

Het blijft een raar geval.
Ik hoop dat je me kan helpen.
Ik vind het zelf nogal een lange code .
Misschien is er wel een andere oplossing voor.
Dus aan de hand van het partijnummer in "G8" een lijst uitprinten
van welke speler tegen wie moet spelen.
Groetjes Jaap
 
Edmoor ,
Ik heb het programma iets aangepast en de codes With en End With
eruit gesleuteld
Probleem blijft hetzelfde.
Als q = 1 , dan pakt ".Find" steevast niet 1 maar 10
Zou het soms niet in het programma zitten maar in de instellingen van Exel??
Ik kom er niet uit.
HELP MIJ
 

Bijlagen

  • test lijst printen 3.xlsm
    51,2 KB · Weergaven: 37
Hier staat niet de wijziging in die ik in #2 gaf:
Code:
rij = Range("J3:J38").Find(c).Row
 
Edmoor,
Klopt , maar dat gaf dezelfde fout.
Ik had er in dit geval , zonder het blok "With" , deze code van gemaakt.

Code:
rij = Range("J3:J38").Find(c, , , xlWhole).Row

Maar ook met het vorige programma gaf het geen verandering

Jaap
 
Het geeft hier bij 1 toch echt de regel met 1 terug (regel 3) en niet die met 10 (regel 12)
Dat staat los van de rest van je code.

Dat kan je in debug mode (F8) eenvoudig zien.
 
Laatst bewerkt:
Edmoor ,

Dan moet het programma goed zijn.
Als je de macro uitvoer zie je dan bij jouw wel op het blad "Lijst" de naam K.de Boer staan
en niet 2x de naam L.Goes.
Als dat zo is moet ik het ergens anders in zoeken.
Wil je dit eens voor mij proberen?
Jaap
 
Dan moet ik de hele code naspelen terwijl je zelf beter weet wat de exacte werking moet zijn.
Wat ik al zei, loop de hele handel eens door met F8, dan kan je precies volgen wat er op welk moment gebeurt.
 
edmoor,

Had ik al gedaan.
q en naamgetal , 2 variabelen , zijn altijd gelijk behalve als q = 1 , dan is het 10. Dit klopt dus niet kijk maar
en komt hij bij L.Goes uit
Jaap
 
Bij Set naamgetal heb je ook xlPart staan in plaats van xlWhole.
 
Edmoor,
Dat was het.

Toen ik de code aanpaste , zie code , functioneerde alles naar wens.

Probleem opgelost!!

Code:
 Set naamgetal = Range("A1:A29").Find(q, , , xlWhole)

Je had helemaal gelijk en het advies in #2 was eigenlijk al de oplossing.
Waarom hij met de oude code het getal 1 niet vind snap ik nog steeds niet.
In ieder geval bedankt voor de geboden hulp en het geduld dat je met me had
om het probleem op te lossen.
Je had het vanaf het begin al goed. Nogmaals Dank je wel!!

Vriendelijke groet , Jaap
 
Graag gedaan Jaap :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan