/ / Presun textu do stĺpca v Exceli s VB Script - Excel, VBScript, kopírovanie, tabuľka, vloženie

Presun textu do stĺpca v Exceli pomocou VB Script - Excel, VBScript, kopírovanie, tabuľka, vloženie

Mám veľkú tabuľku Excelu so záznamami. Každý záznam má 12 riadkov. Potrebujem ich presunúť do stĺpcov. Každých dvanásť riadkov sa musí skopírovať do rovnakého stĺpca. Každý riadok bude mať vlastný stĺpec. Potrebujem skript na otvorenie zošita, vykonanie úlohy a uloženie zošita s novým usporiadaním.

Tabuľka je veľmi veľká, takže potrebujemskript na slučku celú cestu cez hárok. Na konci skriptu chcem, aby prvých dvanásť riadkov bolo 1 záznam rozložený do 12 stĺpcov. Toto som doteraz urobil:

Dim xlApp
Dim xlSheet1
Dim xlBook1

Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open "C:usersam2878desktopExchange Audit Log.xls"

Set xlBook1 = xlApp.Workbooks("Exchange Audit Log.xls")
Set xlSheet1 + xlBook1.Worksheet("Exchange Audit Log")

xlApp.Application.Visible = True

xlSheet1.Range("A1:A12").Cut

xlSheet1.Range("A1:L1").Paste

Loop

xlBook1.SaveAs "C:usersam2878desktopExchange Audit Log.xls", xlNormal, "","",False,False
xlApp.Quit

odpovede:

0 pre odpoveď č. 1

Vyvolá sa operácia, ktorú hľadáte "Transpozícia", V Exceli je implementovaný ako parameter PasteSpecial metóda. Do buniek, ktoré ste práve vystrihli, však nemôžete prilepiť, takže ich musíte prilepiť niekde inde:

Const xlAll  = -4104
Const xlNone = -4142

...

xlSheet1.Range("A1:A12").Cut
xlBook1.Sheets(2).PasteSpecial xlAll, xlNone, , True

Ak potrebujete upraviť pôvodný hárok, môžete presunúť transponované údaje späť do zdrojového hárku:

xlBook1.Sheets(2).Range("A1:L1").Cut
xlSheet1.Activate
xlApp.ActiveSheet.Range("A1").Select
xlApp.ActiveSheet.Paste