我已经将下载的报告中的数据导入到工作副本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)

我试图在源工作簿中找到一种没有剪切/粘贴的方法,但如果这是一个更合适的解决方案,我会对此持开放态度 . 只是希望有可能用现有结构维护源格式 .