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.