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.

Eelmine Artikkel Järgmine Artikkel

Top Näpunäited