„Excel“ - nukopijuokite eilutes į bendrą puslapį

Problema

Turiu Excel skaičiuoklę su 13 darbo lapų. Pirmieji 12 darbo lapų yra nuo sausio iki gruodžio. 13-asis darbalapis yra iš viso. Kiekviename darbalapyje yra vienodi stulpeliai ir eilutės.

Visuose darbalapiuose yra apie 10 stulpelių, tokių kaip Data, Vardas, Adresas, Sąskaitos numeris, Departamentas, Darbuotojo vardas ir kt.

Ką bandau padaryti, įveskite informaciją kiekviename mėnesiniame darbalapyje ir pateikiu duomenis, kuriuos įvedu, automatiškai nukopijuojami į visą darbo lapą. Visame darbalapyje būtų visi įvesti duomenys. Turiu mėnesio suskirstymą, tačiau bendras puslapis apima visus sandorius.

Turiu visus darbalapius, tačiau negaliu sugalvoti kodo, kad galėtumėte atlikti kopiją. Prašome pateikti pasiūlymų?

Sprendimas

Išbandyti šį. Žinoma, prieš atlikdami bandymą įsitikinkite, kad atlikote pirminio failo kopiją

Prielaidos.

  • 1. Lakštai yra pavadinimai Jan, Feb, ....
  • 2. Pagrindinis lapas yra vadinamas magistras
  • 3. 1 stulpelyje nėra tuščios vertės (ji naudojama norint rasti maksimalų eilučių skaičių)
  • 4. Yra ne daugiau kaip 11 stulpelių
  • 5. Pagrindiniame lape jau yra antraštės eilutė.

 „Sub copyData“ () „Dim maxRows As Long Dim maxCols“, kaip „Integer Dim“ skaičiuoklė Kaip „String“ konsoliduotas lapo pavadinimas Dim lConRow Kaip ilgas Dim maxRowCol As Integer, naudojamas rasti max max eilių maxCols = 11 mėnesių = „Array“, "Mar", "Balandis", "Gegužė", "Jun", "Jul", "Aug", "Rugsėjis", "Spalis", "Lapkritis", "Dec") maxRowCol = 1 conSheet = "Meistras" lapai Pasirinkti diapazoną ("A2") Pasirinkite langelius (65536, 256) .Pasirinkite pasirinkimą.Pasirinkti (xlDown) .Pasirinkite maxRows = Selection.Row Range ("A2", parinkimas). X = 0 į Sheets.Count - 2 lapai (mėnesiai (x)) Pasirinkite If ActiveSheet.AutoFilterMode Tada Cells.Select Selection.AutoFilter End Jei Cells.Select Dim lastRow As Long lastRow = Ląstelės (maxRows, maxRowCol). xlUp) .Row If (lastRow> 1), tada Range (Cells (2, 1), Cells (lastRow, maxCols)). Select Selection.Copy Sheets (conSheet) .Pasirinkite Cells (lConRow, 1). = Ląstelės (maxRows, maxRowCol) .End (xlUp) .Už lConRow = lSummaryRow + 1 pabaiga Jei jei ActiveSheet.Name = "Dec „Tada išeikite iš„ Sub Next End Sub “ 

Pastaba

Ačiū rizvisa1 už šį patarimą foru.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai