AutoFilter Sort i Excel
Hej EksperterJeg har lavet et VBScript der tager min HTML tabel og ekspertere den til Excel, hvor øverste række er froset fast, og der er autofilter på alle kolonner.
Nu vil jeg gerne gøre det sådan at man ved at klikke på hjemmesiden og kan vælge hvilke kolonne der skal være sorteret.
Kan godt optage en macro i Excel, men kan ikke få den overført, så den virker i VBScript.
Makro:
Sub Macro1()
ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
("D1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Har så prøvet at overføre det til VBScript, og det ser således ud:
Sub ToExcelSort(coloum)
strCopy = MyTable.InnerHTML
document.parentwindow.clipboardData.SetData "text", strCopy
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)
objWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
objWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With objWorkbook.Worksheets("Sheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Der deb fejler er i:
objWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Håber der nogle der kan hjælpe med det her nok simple problem.