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.