|
大家好。
我在excle中通过链接SQLserver数据源导入了一张表。大致如下:
主要是会有很多不同时间点的列跟在后面
我想通过排序对这些列进行整理,即按照时间先后左右排序(从数据库中出来的顺序是乱的 但是有几十上百行我不可能手动调整)
发现默认的方式并不成功,在table中无法按行排序。
我转而想通过VBA实现
代码如下
Sub orderby()
Set Asisitant = ThisWorkbook.Sheets("test")
zhs = Asisitant.[G65536].End(xlUp).Row
zls = Asisitant.[IV1].End(xlToLeft).column
Asisitant.Range(Columns(9), Columns(zls)).Select
Asisitant.Sort.SortFields.Clear
Asisitant.Sort.SortFields.Add Key:=Range(Cells(1, 9), Cells(1, zls)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With Asisitant.Sort
.SetRange Range(Cells(1, 9), Cells(zhs, zls))
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
但是每当执行过此宏,保存后再打开文件就提示文件损坏
选是后表链接源被删除,由表变为普通区域
导致我好多做好的东西因为无法保存都白做了 非常困扰
请大神解救!
|
|