Excel - andmete valikuline ülekandmine eelnevalt määratletud vahemikku
Probleem
Ma olen Exceli VB jaoks uus. Sooviksin võrrelda töölehelt1 saadud andmete kogumit, täites mitmeid tingimusi / kriteeriume ja seejärel edastada need andmed eelnevalt määratletud töölehele2, jättes samal ajal välja andmed, mida ma ei vaja.
Näiteks:
Tööleht 1 sisaldab järgmisi andmeid, kus ma vajan andmeid, mis vastavad väärtusele "si" veerus A, ning väärtuse "d" ja "m" väärtused veerus B ja seejärel veerus A, C ja E olevad read ainult töölehele2.
ABCDE si dos xxxxxx si do 2 ddddd pg drx dddd pg mra sdfsdf fj mw 3 ghghgh fj dwf dssdg mx 1 sfsdfsd si yx 1 hmhjkk
Töölehel2 on eelnevalt määratletud veerud / vahemik (A, C ja E) andmete kopeerimiseks. Kui see toimib, peaks mul olema järgmine tulemus, nagu allpool näidatud.
ACE si o xxxxxx ja ddddd si x sfsdfsd
Pange tähele, et töölehe 2 eelnevalt kindlaksmääratud veerud või vahemikud peaksid automaatselt sellele automaatselt laienema ja lepingut sõlmima.
Iga meetod on hea nii kaua, kui töölehele 2 pandud väljaanne on arhiveeritud.
Lahendus
Lehel 1 olevates andmetes peab 1. veerus olema veergude pealkirjad.
hdng1 hdng2 hdng3 hdng5 sid xxxxxx si do 2 ddddd pg drx dddd lk mra sdfsdf fj mw 3 ghghgh fj dwf dssdg mx 1 sfsdfsd ja yx 1 hmhjkk
käivitage see makro selles ja vaata leht 2
(hoidke alati originaalfaili turvaliselt kuskil
makro on
Sub-test () Töölehed ("sheet2"). Cells.Clear töölehed ("sheet1") Aktiveeri ActiveSheet.UsedRange.Vali valik.AutoFilter Field: = 1, kriteeriumid1: = "si" valik.AutoFilter Field: = 2, kriteeriumid1 : = "= d", operaator: = xlOr, _ kriteeriumid2: = "= m" ActiveSheet.Cells.SpecialCells (xlCellTypeVisible) .Kopeerige töölehtedega ("Sheet2") .Range ("A1"). PasteSpecial .Range (" B: B, D: D "). Delete shift: = xlToLeft Application.CutCopyMode = vale lõpp valikuga.AutoFilter Range (" A1 ").
Märge
Täname [//ccm.net / ... venkat1926 selle foorumi vihje eest.