Macro / VBA var nødvendig for at finde, matche, kopiere / indsætte

  • Problem
  • Opløsning
  • Bemærk

Problem

Ok, så jeg har søgt og søgt og stadig ikke har fundet kode til at gøre præcis, hvad jeg har brug for.

Makroen skal kunne søge hundrends af celler i samme kolonne (ark1), og hvis en celle i den kolonne svarer til den første celle i et andet regneark (Sheet2), makkerer makroen følgende celler (fra samme række på ark2 ) på ark1 (samme række men forskellige kolonne).

Så jeg forsøger i det væsentlige at skære ud af arbejdet med matchende tekst fra to forskellige regneark og kopiere og indsætte de relaterede data i samme række.

Jeg fandt denne makro som et standardmodul (ikke sikker på, hvor nyttigt det er, men det kan være et udgangspunkt).

Mulighed Eksplicit

Sub CopyData ()

Dim celle som Range

Dim rw så lang

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

Hvis celle "" Så

rw = Opslag (celle.Value)

Hvis rw 0 Så

Arbejdsark ("PTR"). Celler (celle.Row, "L"). Ændre størrelse (, 4) .Value = _

Arbejdsark ("Reference"). Celler (rw, "L"). Ændre størrelse (, 4) .Value

Afslut Hvis

Afslut Hvis

Næste

Slutdel

Function Lookup (Item As String) Længe

På fejl fortsæt næste

Lookup = WorksheetFunction.Match (item, Worksheets ("Reference"). Område ("A: A"),

Falsk)

På fejl GoTo 0

Slutfunktion

Opløsning

Du kan gøre det uden en makro

Sæt nedenstående formel i B1 i ark 2

 = LOPSLAG ($ A1, CELLREF-SHEET1, søjle (), falsk) 

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

Bemærk

Takket være Excelguru til dette tip på forummet.

Forrige Artikel Næste Artikel

Top Tips