Avatar billede steensommer Praktikant
19. april 2003 - 15:00 Der er 8 kommentarer og
1 løsning

Selektere efter celleværdi

Hej.
Excel 2002.

I en celle er indtastet et personspecifikt 5-6 cifret nummer. De første numre fortæller hvilket år det drejer sig om dvs 01000-01999 for 2001, 02000-02999 for 2002 osv. Engang imellem et tallet forudgået af et bogstav P der fortæller hvilken "procedure" personen skal have udført.

Afhængig af de 2 - 3 første cifre i cellen ønsker jeg at udføre en bestemt handling (ex. 03000 hente data for personen der har specifikke nummer i databasen for 2003 etc).

Det kan vel gøres med:  If... Then    men hvordan???

vh Steen
Avatar billede janvogt Praktikant
19. april 2003 - 16:47 #1
Du kan bruge =VENSTRE til at hene de første n værdier af dit nummer.
Derefter kan du bruge =LOPSLAG til at hente de værdier du ønsker fra procedure-oversigten.
Avatar billede steensommer Praktikant
19. april 2003 - 20:00 #2
Jan - jeg er lidt på herrens mark hvad dit forslag (=VENSTRE og =LOPSLAG) angår.
Jeg havde tænkt at anvende en vba procedure - og det er ovenstående vist ikke eller tager jeg fejl? Sig til hvis tingene skal uddybes.
Avatar billede sjap Praktikant
19. april 2003 - 20:15 #3
Det som janvogt har skrevet først skal blot oversættes til fremmedsprog, så virker det også i VBA.

Når du har fat i celleværdien skriver du blot

If left(DinCelleVærdi, 1) = "P" Then
Avatar billede steensommer Praktikant
19. april 2003 - 20:18 #4
Det lyder godt . Og hvis man vil anvende nummer 2 eller 3 tal/bogstav fra venstre hvorledes skrives det?
Avatar billede sjap Praktikant
19. april 2003 - 20:22 #5
I den hvor du har et P skriver du (i overført betydning - håber du forstår)

If left(DinCelleVærdi, 1) = "P" Then
    Mid(DinCelleVærdi, 2, 3) 'Den henter tre tegn EFTER P'et
    Mid(DinCelleVærdi, 2, 2) 'Den henter to tegn EFTER P'et
Else
    Left(DinCelleVærdi, 3) 'Den henter tre tegn fra venstre side
    Left(DinCelleVærdi, 2) 'Den henter to tegn fra venstre side
Endif
Avatar billede steensommer Praktikant
19. april 2003 - 20:38 #6
Jeg skal lige være sikker på at jeg helt har forstået det. Ovenstående vba skal placeres hvor?
Cellerne der indholder de personspecifikke tal er I8,I10, I12 etc (og tallet varierer afhængig af personen men kunne være 03093 eller evt P03093) - hvor det det indføres i koden?  Vh Steen
Avatar billede sjap Praktikant
19. april 2003 - 20:47 #7
Jeg havde forstået det sådan at du ville lave det hele i VBA og forestillede mig at du allerede havde en funktion der løb alle cellerne igennem.

Måden du kan gøre det herefter er (antager at du kun skal bruge to tegn udover eventuelt P):

If left(DinCelleVærdi, 1) = "P" Then
    Opslagsværdi = Mid(DinCelleVærdi, 2, 2)
Else
    Opslagsværdi = Left(DinCelleVærdi, 2)
Endif

Select case Opslagsværdi
    Case "01": Udfør funktion1
    Case "02": Udfør funktion2
    Case Else
End select
Avatar billede steensommer Praktikant
19. april 2003 - 21:00 #8
Jeg ønsker ganske rigtigt at lave det hele i vba men det er lidt svært at forklare hvad det går ud på - jeg prøver.
Listen indeholder oplysninger på 20 personer (1 række = 1 person).
Omtalte personspecifikke nr. findes i kolonne I og siger noget om HVAD personen skal have lavet (bogstavet) og HVILKET år det blev udført (de første cifre (030 for 2003, 020 for 2002 etc).
Fra listen skal opstartes en personmappe som er forskellig afhængig af hvilken procedure der er lavet.

Men jeg tror egentlig at det er lidt for svært at beskrive.
Du har givet mig nogle idéer som jeg forhåbentlig kan arbejde videre med - og dermed har du fortjent point - OK?  vh Steen
Avatar billede sjap Praktikant
19. april 2003 - 21:42 #9
Det er da ok med mig :-)
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