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.

Eelmine Artikkel Järgmine Artikkel

Top Näpunäited