Joskus haluamme yhdistää useita arkkeja yhdeksi arkiksi, jotta voimme analysoida tiedot helposti ja muuttaa niistä hyödyllisiä tietoja. Tässä artikkelissa kerrotaan, kuinka voit yhdistää useita laskentataulukoita yhdeksi laskentataulukkoksi VBA: n avulla.
Esimerkki:
Täältä olen hakenut tietoja palvelimelta, joka palauttaa tiedot eri laskentataulukoille. Olen lisännyt yhden arkin lisää ja nimesin sen "päälliköksi". Muilla lehtien nimillä ei ole väliä.
Suorita nyt tämä makro.
Sub Merge_Sheets () Dim Dim StartRow, startCol, lastRow, lastCol As Long Dim headers As Range 'Aseta pääarkki konsolidointia varten Set mtr = Worksheets ("Master") Set wb = ThisWorkbook' Get Headers Set headers = Application.InputBox ("Valitse Otsikot ", tyyppi: = 8) 'Kopioi otsikot pääotsikoiksi.Kopioi mtr.Range (" A1 ") startRow = headers.Row + 1 startCol = headers.Column Debug.Print startRow, startCol' -silmukka kaikkien arkkien läpi jokaiselle ws In wb.Worksheets 'lukuun ottamatta master -arkkia silmukoinnista If ws.Name "Master" Sitten ws.Activate lastRow = Solut (Rows.Count, startCol) .End (xlUp) .Row lastCol = Solut (startRow, Columns.Count). End (xlToLeft) .Column 'hakee tietoja jokaisesta laskentataulukosta ja kopioi ne Master -taulukon alueelle (Solut (startRow, startCol), Solut (lastRow, lastCol)). Kopioi _ mtr.Range ("A" & mtr.Cells (Rows .Count, 1) .End (xlUp) .Row + 1) End If Next ws Worksheets ("Master"). Aktivoi End Sub
Kuinka yhdistää arkit tämän VBA -makron avulla?
- Lisää uusi arkki ja anna sille nimi ”Master” työkirjassa. Nimeä se myöhemmin uudelleen, jos haluat.
- Aseta moduuli VBA -editoriin ja kopioi yllä oleva VBA -koodi.
- Suorita makro.
- Sinua pyydetään valitsemaan otsikot. Valitse otsikko ja paina OK.
Ja se on tehty. Kaikki taulukot yhdistetään masteriksi.
Kuinka se toimii?
Oletan, että tiedät objektien ja muuttujien luomisen perusteet VBA: ssa. ensimmäisessä osassa olemme luoneet objekteja ja muuttujia, joita tarvitsemme toiminnassamme.
Suurin osa asioista, jotka olen selittänyt käyttämällä vba -koodin kommentteja. Katsotaanpa tämän vba -koodin pääosa.
Jokaiselle ws: lle wb.Worksheets 'lukuun ottamatta silmukoinnin pääarkkia If ws.Name "Master" Sitten ws.Activate lastRow = Solut (Rows.Count, startCol) .End (xlUp) .Row lastCol = Solut (startRow, Columns). Count) .End (xlToLeft) .Column 'hakee tietoja jokaisesta laskentataulukosta ja kopioi ne Master sheet Range (Solut (startRow, startCol), Solut (lastRow, lastCol)). Kopioi _ mtr.Range ("A" & mtr. Solut (Rivien lukumäärä, 1) Loppu (xlUp). Rivi + 1) Lopeta, jos seuraava ws
Aikaisemmissa artikkeleissa opimme silmukoiden selaamisen ja viimeisen rivin ja sarakkeen saamisen vba: n avulla.
Täällä käymme läpi jokaisen arkin päätyökirjassa käyttämällä silmukkaa.
Jokaiselle ws In wb.Worksheets
Sitten suljemme ”pää” -arkin pois silmukoinnista, koska yhdistämme tietomme kyseiselle taulukolle.
Sitten saamme viimeisen rivin ja viimeisen sarakkeen numeron.
Nyt seuraava rivi on erittäin tärkeä. Olemme tehneet useita toimintoja yhdelle riville.
Alue (Solut (startRow, startCol), Solut (lastRow, lastCol)). Kopioi _
mtr.Range ("A" & mtr.Cells (Rows.Count, 1) .End (xlUp) .Row + 1)
Ensin muodostamme alueen käyttämällä startRow, startCol ja lastRow ja lastCol.
Alue (Solut (startRow, startCol), Solut (lastRow, lastCol)) Olemme kopioineet sen käyttämällä alueen kopiointimenetelmää. Alue (Solut (startRow, startCol), Solut (lastRow, lastCol)). (xlUp). rivi + 1). Alue (Solut (startRow, startCol), Solut (lastRow, lastCol)). Kopioi _ mtr.Range ("A" & mtr.Cells (Rows.Count, 1). End (xlUp). Rivi + 1)
Tämä silmukka suoritetaan kaikille arkeille ja kopioi jokaisen taulukon tiedot pääarkiksi.
Lopuksi, makron lopussa aktivoimme master -taulukon nähdäksesi tuloksen.
Joten kyllä kaverit, näin voit yhdistää työkirjan jokaisen arkin. Kerro minulle, jos sinulla on kysyttävää tästä VBA -koodista tai muista Excel -aiheista alla olevissa kommenttien osassa.
Lataa tiedosto:
Aiheeseen liittyvät artikkelit:
Kuinka kiertää arkkia
kuinka saada viimeinen rivi ja sarake vba: n avulla
Poista taulukot ilman vahvistuskehotteita käyttämällä VBA: ta Microsoft Excelissä
Lisää ja tallenna uusi työkirja VBA: n avulla Microsoft Excel 2016: ssa
Näytä viesti Excel VBA -tilapalkissa
Poista varoitusviestit käytöstä VBA: n avulla Microsoft Excel 2016: ssa
Suosittuja artikkeleita:
VLOOKUP -toiminto Excelissä
COUNTIF Excel 2016: ssa
SUMIF -toiminnon käyttäminen Excelissä