Makro / VBA vaja, et leida, sobitada, kopeerida / kleepida
- Probleem
- Lahendus
- Märge
Probleem
Ok, nii et ma olen otsinud ja otsinud ja pole ikka veel leidnud koodi, mida just vaja.
Makro peab suutma otsida samas veerus olevate rakkude hundrende (leht 1) ja kui selle veeru lahtr sobib teise töölehe esimese lahtriga (Sheet2), siis makro kleebib järgmised lahtrid (samast reast lehel2) ) lehel1 (sama rida, kuid erinev veerg).
Nii et ma püüan põhimõtteliselt kahest erinevast töölehest teksti sobitamisest välja lõigata ja sellega seotud andmed kopeerida ja kleepida samasse ritta.
Ma leidsin selle makro standardmoodulina (ei ole kindel, kui kasulik see on, kuid võiks olla lähtepunkt).
Valik Selgesõnaline
Sub CopyData ()
Hajutage lahtrit kui vahemikku
Dim rw As Long
Iga raku töölehel ("PTR"). Vahemik ("A: A")
Kui rakk "" siis
rw = Otsing (cell.Value)
Kui rw 0 Seejärel
Töölehed ("PTR"). Rakud (lahtrisse.Rida, "L"). Suuruse muutmine (, 4) .Väärtus = _
Töölehed ("Viide") Rakud (rw, "L"). Suuruse muutmine (, 4) .Väärtus
Lõpeta kui
Lõpeta kui
Järgmine
Lõpeta alam
Funktsioonide otsimine (kirje stringina) nii kaua
Vea jätkamisel Järgmine
Otsing = WorksheetFunction.Match (kirje, töölehed ("Reference"). Range ("A: A"),
Vale)
Viga GoTo 0
Lõppfunktsioon
Lahendus
Seda saab teha ilma makro
Pange alljärgnev valem B1-le tabelis 2
= vlookup ($ A1, CELLREF-SHEET1, veerg (), vale)
Süntaks on VLOOKUP (lookup_value, table_array, col_index_num, range_lookup)
Märge
Tänu Excelgurule selle foorumi vihje eest.