Makro / VBA trengte å finne, matche, kopiere / lime inn

  • Utgave
  • Løsning
  • Merk

Utgave

Ok så jeg har søkt og søkt og fortsatt ikke funnet kode for å gjøre akkurat det jeg trenger.

Makroen må kunne søke hundrevis av celler i samme kolonne (ark 1), og hvis en celle i den kolonnen samsvarer med den første cellen i et annet regneark (Ark2), limer makroen følgende celler (fra samme rad på ark2 ) på ark1 (samme rad men forskjellig kolonne).

Så jeg prøver i utgangspunktet å kutte ut av arbeidet med matchende tekst fra to forskjellige regneark og kopiere og lime inn relaterte data i samme rad.

Jeg fant denne makroen som en standardmodul (ikke sikker på hvor nyttig det er, men kan være et utgangspunkt).

Alternativ Eksplisitt

Sub CopyData ()

Dim-celle som rekkevidde

Dim rw så lenge

For hver celle I regneark ("PTR"). Område ("A: A"). Celler

Hvis celle "" deretter

rw = Oppslag (celle.Value)

Hvis rw 0 da

Arbeidsark ("PTR"). Celler (cell.Row, "L"). Endre størrelse (, 4) .Value = _

Regneark ("Referanse"). Celler (rw, "L"). Endre størrelse (, 4) .Value

Slutt om

Slutt om

neste

Slutt Sub

Funksjonsoppslag (gjenstand som streng) så lenge

På feil fortsette neste

Oppsøk = ArbeidsarkFunksjon.Match (element, regneark ("referanse"). Område ("A: A"),

Falsk)

På feil GoTo 0

Sluttfunksjon

Løsning

Du kan gjøre det uten en makro

Sett nedenstående formel i B1 i ark 2

 = FINN.RAD ($ A1, CELLREF-SHEET1, kolonne (), false) 

Syntaxen er VLOOKUP (lookup_value, table_array, col_index_num, range_lookup)

Merk

Takk til Excelguru for dette tipset på forumet.

Forrige Artikkel Neste Artikkel

Beste Tips