Makro / VBA reikia rasti, suderinti, kopijuoti / įklijuoti

  • Problema
  • Sprendimas
  • Pastaba

Problema

Gerai, todėl aš ieškojau ir ieškojau ir vis dar neradau kodo, kad galėčiau daryti tai, ko man reikia.

Makro turi turėti galimybę ieškoti ląstelių, esančių toje pačioje skiltyje (lapas1), ir jei langelis toje stulpelyje atitinka pirmąjį langelį kitame darbalapyje (Sheet2), tada makrokomandas įklijuoja šias langelius (iš tos pačios eilutės 2 lape) ) 1 lape (ta pati eilutė, bet kita skiltis).

Taigi aš iš esmės bandau ištraukti iš dviejų skirtingų darbalapių teksto suderinimo ir kopijuoti bei įklijuoti susijusius duomenis į tą pačią eilutę.

Radau šį makrokomandą kaip standartinį modulį (nesu tikras, ar tai naudinga, bet gali būti pradinis taškas).

Galimybė aiški

Sub CopyData ()

Išmeskite langelį kaip diapazoną

Dim rw As Long

Už kiekvieną langelį, esantį darbalapiuose („PTR“), diapazonas („A: A“)

Jei langelis "" tada

rw = Ieškoti (cell.Value)

Jei rw 0 Tada

Darbalapiai („PTR“). Ląstelės (ląstelė, eilutė, „L“). Keisti dydį (, 4).

Darbalapiai („Nuoroda“). Ląstelės (rw, „L“). Keisti dydį (, 4)

Baigti Jei

Baigti Jei

Kitas

Pabaiga

Funkcijos paieška (elementas kaip eilutė)

„Error Resume Next“ (atnaujinti klaidą)

Lookup = WorksheetFunction.Match (elementas, darbalapiai ("Reference"). Diapazonas ("A: A"),

False)

Klaida „GoTo 0“

Pabaigos funkcija

Sprendimas

Jūs galite tai padaryti be makro

Įdėkite žemiau pateiktą formulę B1 lape 2 lape

 = vlookup ($ A1, CELLREF-SHEET1, stulpelis (), false) 

Sintaksė yra VLOOKUP (lookup_value, table_array, col_index_num, range_lookup)

Pastaba

Ačiū „Excelguru“ už šį patarimą forume.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai