Kopioi sarake tai sarakkeet kustakin taulukosta yhdeksi taulukkoksi VBA: n avulla Microsoft Excelissä

Anonim

Joskus tulee rutiinityö kopioida tietoja useilta saman sarakkeen taulukoilta. Tämä vaihe voidaan välttää käyttämällä automaatiota. Jos haluat tehdä yhdistetyn taulukon sen jälkeen, kun olet kopioinut tiedot jokaisen arkin sarakkeesta yhdelle arkille, sinun kannattaa lukea tämä artikkeli.

Tässä artikkelissa luomme makron, joka kopioi tiedot tietystä sarakkeesta ja liittää uuteen taulukkoon.

Tämän esimerkin raakatiedot koostuvat työntekijöiden tiedoista Excel -työkirjan muodossa, joka sisältää kolme arkkia, joissa on työntekijöiden osasto-, henkilö- ja yhteystiedot.

Kopioidaksesi tietoja eri arkeista uudelle arkille olemme luoneet makron "CopyColumns". Tämä makro voidaan suorittaa napsauttamalla "Suorita makro" -painiketta "Pää" -arkissa.

"CopyColumns" -makro lisää uuden "Master" -arkin "Main" -arkin jälkeen. "Pää" -arkki sisältää yhdistettyjä tietoja kaikista arkeista.

Koodin selitys

Työarkit.Add (jälkeen: = laskentataulukot ("Main"))

Yllä olevaa koodia käytetään uusien laskentataulukoiden lisäämiseen Main -laskentataulukon jälkeen.

Jos Source.Name "Master" Ja Source.Name "Main" Sitten

Loppu Jos

Yllä olevaa koodia käytetään rajoittamaan "Master" - ja "Main" -arkin tietojen kopiointia.

Source.UsedRange.Copy Destination.Columns (Viimeinen)

Yllä olevaa koodia käytetään tietojen kopioimiseen lähdearkista kohdearkkiin.

Jokaiselle tämän työkirjan lähteelle

Jos Source.Name = "Master" Sitten

MsgBox "Pääarkki on jo olemassa"

Lopeta Sub

Loppu Jos

Seuraava

Yllä olevaa koodia käytetään tarkistamaan, onko "pää" -arkki jo olemassa työkirjassa. Makro lopettaa suorituksen, jos "pää" -arkki on jo työkirjassa.

Seuraa koodia alla

 Vaihtoehto Explicit Sub CopyColumns () Dim Lähde laskentataulukkona Himmennetty kohde kuin laskentataulukko Dim Viimeinen niin kauan Application.ScreenUpdating = False 'Tarkistetaan, onko "Master" -arkki jo olemassa työkirjassa Jokaisen tämän työkirjan lähteen osalta.Worksheets If Source.Name = "Master" Sitten MsgBox "Pääarkki on jo olemassa" Poistu alipäästä Jos seuraava 'Uusien laskentataulukoiden lisääminen työkirjaan Aseta kohde = Työarkit. Lisää (jälkeen: = laskentataulukot ("Main"))' Laskentataulukon nimeäminen uudelleen Destination.Name = "Master" 'Silmukka työkirjan laskentataulukoiden kautta jokaiselle tämän työkirjan lähteelle. xlCellTypeLastCell) .Column If Last = 1 Sitten 'Tietojen liittäminen kohdearkkiin Source.UsedRange.Copy Destination.Columns (Last) Else Source.UsedRange.Copy Destination.Columns (Last + 1) End if End if Next Columns.AutoFit Application.ScreenUpdating = Todellinen loppuosa 

Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse