Avatar billede moba Nybegynder
15. juli 2004 - 10:33 Der er 10 kommentarer og
1 løsning

søg på et tal i en række

Hej
Jeg har en række med tal i et regneark (ark1).
Jeg vil fra en formular  løbe denne række igennem og markere en celle som matcher et søgekriterie.
Jeg har lavet det sådan at jeg med en FOR løkke løber gennem de 100 første celler i rækken. Det der egentlig er min spørgsmål er hvordan jeg i stedet, kun løber gennem de celler i rækken hvor der er indtastet tal. Dvs erstatter 100 men et count eller en betingelse. Kan i følge min???
Morten
Avatar billede tobler Nybegynder
15. juli 2004 - 10:49 #1
Jeg har engang sakset denne beskrivelse fra et spørgsmål her, håber det hjælper dig videre:

Marker kolonne A.
Under ->Formater ->Betinget formatering vælger du ->Formlen er, og skriver i linien ved siden af =A1=$B$1
Herefter vælger du ->Formater og her kan du så lege med farver under fanebladet mønstre.
Det er vigtigt at du husker $-tegnene til dit sammenligningsfelt ellers virker det ikke.
I celle B1 indtaster du den værdi du vil finde.
Avatar billede moba Nybegynder
15. juli 2004 - 10:54 #2
hmm, den løsning jeg leder efter skal kunne bruges fra koden i VB jeg ønsker ikke at interagere med regnearket. Ikke helt sikker på at det er det du svarer på.
Tak for forsøget alligevel
Avatar billede tobler Nybegynder
15. juli 2004 - 11:16 #3
Starter du bagfra? Dvs. du finder sidste "aktive" celle op tester opefter derfra.
Avatar billede moba Nybegynder
15. juli 2004 - 11:25 #4
Jeg har et ark "ark1" hvori der er een række (row10) med tal.
under en knap bruger jeg koden,
For counter = 1 to 100
If worksheets("ark1").cells(10,counter).value = intx then ' intx søgeværdien
'kør procedure
end if
next counter
Avatar billede moba Nybegynder
15. juli 2004 - 11:27 #5
evt kan man måske erstatte For med while tal i række... do
Avatar billede kabbak Professor
15. juli 2004 - 12:34 #6
Slut = Range("IV10").End(xlToLeft).Column
For counter = 1 To Slut
If Worksheets("ark1").Cells(10, counter).Value = intx Then ' intx søgeværdien
'kør procedure
End If
Next counter
Avatar billede kabbak Professor
15. juli 2004 - 13:11 #7
lidt rettet

Slut = Worksheets("ark1").Range("IV10").End(xlToLeft).Column
For counter = 1 To Slut
If Worksheets("ark1").Cells(10, counter).Value = intx Then ' intx søgeværdien
'kør procedure
End If
Next counter
Avatar billede moba Nybegynder
15. juli 2004 - 15:21 #8
jeg løste den ved at sige
counter = 1
while  Worksheets("ark1").Cells(10, counter).Value <> ""
'kør procedure
counter = counter +1
wend
Dette virker fint, men jeg vil gerne give point til kabbak hvis du lige kort  forklarer hvad IV10 og og End(xltoleft) gør.
Avatar billede kabbak Professor
15. juli 2004 - 15:50 #9
Slut = Range("IV10").End(xlToLeft).Column
Vælge sidste celle i række 10, og går tilbege til den sidste der er noget i.

Den du bruger nu, kræver at der er noget i alle celler efter hinanden, hvis der er en tom imellem, kommer de ikke med dem på den anden side af den tomme.

Men det gør de hvis du bruger min.
Avatar billede moba Nybegynder
15. juli 2004 - 15:52 #10
Right
Tak for det
Avatar billede kabbak Professor
15. juli 2004 - 15:53 #11
tak for point ;-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester