使用列重新排序Excel VBA维护源格式

时间:2018-01-05 14:01:10

标签: excel vba excel-vba

我已经将下载的报告中的数据导入到工作副本excel工作簿中一段时间​​了,但是最近比我更高的人决定更改我下载的报告以获取我的信息。最简单的解决方案似乎是在将信息复制到目标工作簿之前重新排序报表工作簿中的信息,但下载的报表在重新排序列后不会保持其格式,然后将其转移到目标工作簿当前状态不对。

Dim X As Long, Letters As Variant, NewLetters As Variant
Dim wbSource as Workbook

With wbSource

Const NewOrder As String = "J,T,U,X,W,K,N,S,AE,AA,AC,AD,F,G,H,I,C,B,AG,AS,AT,O,AJ,AI,AF,M,AH,AO,R,AK,AE,AR,AN,D,E,AQ,Z,AP,P,AL,AB,L,V,Q,Y,A" LastRow = Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Row Letters = Split(NewOrder, ",") ReDim NewLetters(1 To UBound(Letters) + 1) For X = 0 To UBound(Letters) NewLetters(X + 1) = Columns(Letters(X)).Column Next Range("A1").Resize(LastRow, UBound(Letters) + 1) = Application.Index(Cells, Evaluate("ROW(1:" & LastRow & ")"), NewLetters)

我试图在源工作簿中找到一种没有剪切/粘贴的方法,但如果这是一个更合适的解决方案,我愿意接受。只是希望有可能用现有结构来维护源格式。

0 个答案:

没有答案