Excel - makro, lai grupētu pēc kolonnu un summu vērtības

Microsoft Office programmatūra ietver Microsoft Excel, kas ir izklājlapu programma ar grafiskām tabulām, aprēķiniem, makro programmēšanas valodu, ko sauc par VBA (Visual Basics for Applications) un pivot tabulām. Pivot tabulu izmanto, lai uzskaitītu datus; tā atzīst un apkopo šos datus, lai iegūtu konkrētus rezultātus. Makro ir komandu vai darbību saraksts, kas ļauj ātrāk veikt datus vai atkārtotus uzdevumus Excel Office programmatūrā; to var palaist, kad nepieciešams veikt uzdevumu. Tas ņem vērtības, veic vajadzīgo darbību un attiecīgi atgriež vērtību. Ja vēlaties ierakstīt makro grupai pēc kolonnas un summas, tad vienkārši sāciet makro, izmantojot atbilstošās komandas.

Izdevums

Man ir nepieciešams uzrakstīt makro šādam piemēram:

 Vienība Daudzums Garums A 1 100 A 1 100 B 2 200 B 1 100 B 5 100 C 4 200 C 2 100 C 1 200 C 3 100 

Būtībā es vēlos grupēt ar A sleju (ti, vienumu) un C sleju (ti, garumu) un arī vēlaties pievienot katras vienības garuma izmaiņas. Šādā gadījumā jaunās lapas rezultāts būtu šāds:

 Vienība Daudzums Garums A 2 100 B 2 200 B 6 100 C 5 200 C 5 100 

Ceru, ka tas ir jēga.

Vai kāds var man palīdzēt rakstīt Excel makro par šo lūdzu?

Risinājums

Izmēģiniet šo

Pieņēmums:

  • 1. Kad sākat makro, lapa, no kuras jāpārkopē dati, ir aktīvā lapa
  • 2. Tukša A ailes šūna norāda datu beigas
  • 3. Vēlaties ielīmēt 3. lapā (pareizā makro, ja tā nav)

 Sub konsolidateData () Dim lRow Kā garš Dim ItemRow1, ItemRow2 kā virkne Dim lengthRow1, lengthRow2 kā virknes kolonnas ("A: C") Atlasiet Selection.Copy Sheets ("Sheet3"). Izvēlieties Range ("A1"). Ievietojiet Cells.Select Selection.Sort _ Key1: = Range ("A2"), Order1: = xlAscending, _ Key2: = Range ("C2"), Order2: = xlDescending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientācija: = xlTopToBottom, _ DataOption1: = xlSortNormal lRow = 2 Dariet, kamēr (šūnas (lRow, 1) "") ItemRow1 = šūnas (lRow, "A") ItemRow2 = šūnas (lRow + 1, "A") lengthRow1 = šūnas (lRow, "C") lengthRow2 = šūnas (lRow + 1, "C") Ja ((ItemRow1 = ItemRow2) un (lengthRow1 = lengthRow2)) Tad šūnas (lRow, "B") = Šūnas (lRow, "B") + šūnas (lRow + 1, "B") Rindas (lRow + 1). Dzēst citu lRow = lRow + 1 beigas, ja cilpa beigas 

Piezīme

Paldies rizvisa1 par šo padomu forumā.

Iepriekšējais Raksts Nākamais Raksts

Top Padomi