Avatar billede harlan01 Nybegynder
13. maj 2007 - 18:18 Der er 11 kommentarer og
1 løsning

VBA - Hent tekst og beløb i liste

Hej Eksperter,
Et lille spørgsmål. Jeg har en liste, hvor der i kolonne A er sælger initialer i B er der tekst og i C er der beløb.
Jeg ønsker en funktion til, fra et andet ark, at søge hvor mange gange et givent initial optræder i A og herefter hente og indsætte den tilsvarende tekst (fra B) og Beløb (fra C).

Good luck - og håber i kan hjælpe.

Måske excelent eller supertekst :-)
Avatar billede supertekst Ekspert
13. maj 2007 - 18:22 #1
Vil det siger at alle rækker med den valgte sælger skal overføres til "det andet ark"?
Avatar billede harlan01 Nybegynder
13. maj 2007 - 18:32 #2
Præcist
Avatar billede harlan01 Nybegynder
13. maj 2007 - 18:34 #3
Jeg skal egentlig kopiere dem over, men jeg ved ikke om det er en række eller 25 rækker. Til sidst skal jeg summere, men det kan jeg da trods alt finde ud af.
Avatar billede harlan01 Nybegynder
13. maj 2007 - 18:46 #4
Jeg kan få det til at fungere meden pivottabel, men syntes ikke løsningen er specielt elegant.
Avatar billede excelent Ekspert
13. maj 2007 - 19:26 #5
henter tekst i kolonne B hvis A er = "Navn"

=INDIREKTE("ark1!B"&MINDSTE(HVIS(Ark1!$A$1:$A$100="Navn";RÆKKE(Ark1!$A$1:$A$100));RÆKKE(1:1)))

indsæt og afslut med ctrl+shift+enter  og kopier ned
Avatar billede excelent Ekspert
13. maj 2007 - 19:27 #6
denne henter beløb i kolonne C  - afslut med ctrl+shift+enter

=INDIREKTE("ark1!C"&MINDSTE(HVIS(Ark1!$A$1:$A$100="a";RÆKKE(Ark1!$A$1:$A$100));RÆKKE(1:1)))
Avatar billede excelent Ekspert
13. maj 2007 - 19:30 #7
formlen resulterer i en NUM-fejl når den ikke finder flere match

dette kan skjules ved at ændre i formlen (bliver ca dobbelt lang)
eller indsætte denne i betinget formatering ;
=ER.FEJL(første selle hvor formel indsættes) - vælg skriftfarve hvid
Avatar billede excelent Ekspert
13. maj 2007 - 19:42 #8
bliver nok nødt til at anvende den lange formel, SUM fejler
når der skal summeres i område med fejl

=HVIS(ER.FEJL(MINDSTE(HVIS(Ark1!$A$1:$A$100="Navn";RÆKKE(Ark1!$A$1:$A$100));RÆKKE(1:1)));"";INDIREKTE("ark1!C"&MINDSTE(HVIS(Ark1!$A$1:$A$100="Navn";RÆKKE(Ark1!$A$1:$A$100));RÆKKE(1:1))))
Avatar billede excelent Ekspert
13. maj 2007 - 19:43 #9
denne var til at hente tekst i kolonne B

=HVIS(ER.FEJL(MINDSTE(HVIS(Ark1!$A$1:$A$100="Navn";RÆKKE(Ark1!$A$1:$A$100));RÆKKE(1:1)));"";INDIREKTE("ark1!B"&MINDSTE(HVIS(Ark1!$A$1:$A$100="Navn";RÆKKE(Ark1!$A$1:$A$100));RÆKKE(1:1))))
Avatar billede excelent Ekspert
13. maj 2007 - 19:52 #10
Navn udskiftes blot med det navn du vil hente data for

obs: formlen virker i 100 rækker - ret hvis dette er for lidt
Avatar billede harlan01 Nybegynder
13. maj 2007 - 19:58 #11
Excelent - du er genial - smid et svar !

P.S. Selle er med C :-)
Avatar billede excelent Ekspert
13. maj 2007 - 20:00 #12
ok ja du har Celfølgelig ret :-)
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