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.