2014-03-19 72 views
0

我正在開發一個應用程序,從DB加載數據到Excel表。 而在其中一列中,我需要用DESCENDING形式進行排序。 但我只是無法做到這一點,因爲所有這一切都給我錯誤... 在升序的形式(默認)我可以做到這一點,它沒有任何麻煩,但當我嘗試把降序的參數,這不通過它。我怎麼排序列在Excel中降序使用vb6

編輯* 首先,聲明和常數:

Dim obj_excel As Object 
Set obj_excel = CreateObject("Excel.Application") 
Dim oSheet As Object ' Worksheet 
Dim oChart As Object ' To declare chart Excel 

obj_excel.Workbooks.Add 'add a workbook to the app 
obj_excel.Sheets(w_Plan1).Select 
obj_excel.Sheets("Folha2").Name = "Provider" 

obj_excel.cells(1, w_coluna).Font.Bold = True 

'header 
obj_excel.cells(1, w_coluna).Font.Size = 10 
obj_excel.cells(1, w_coluna).Value = "OF" 
obj_excel.cells(1, w_coluna).HorizontalAlignment = -4108 

'Assigning values to one cell 
obj_excel.cells(w_linha, 2).Font.Bold = False 
obj_excel.cells(w_linha, 2).Font.Size = 10 
obj_excel.cells(w_linha, 2).Value = obj_cmpcil0.H_cdforneced1 
obj_excel.cells(w_linha, 2).HorizontalAlignment = -4108 
... 
..... 
...... 
'Creating a chart 
Set oSheet = obj_excel.worksheets.Item(2) 
Set oChart = oSheet.ChartObjects.Add(250, 10, 660, 450).Chart 
oChart.SetSourceData Source:=oSheet.Range(w_Plan2 & "!$A$1:$C$11") 

當然還有很多更多的代碼...但我只是把這裏的代碼片段和圖表建立像例子你看我怎麼樣代碼組織申報..

* FINISH編輯

升形式,我的代碼工作:

obj_excel.Sheets(2).Range("A2:C25").Sort _ 
     key1:=obj_excel.Sheets(2).Columns("C") 

我tryng添加降參數的形式:

obj_excel.Sheets(2).Range("A2:C25").Sort _ 
     key1:=obj_excel.Sheets(2).Columns("C") _ 
     Order1:=xlDescending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ 
      DataOption1:=xlSortNormal 

方法排序的參數,不是它的所有可選?

+0

'OrderCustom:= 1'是什麼原因造成的問題。擺脫它,它應該運行良好 –

+0

Cor_Blimey我推遲了,但問題仍然是相同的 – Ghilherme

+0

啊,道歉 - 這只是乍看起來奇怪的東西。 –

回答

1

使用的實際值,而不是Excel中定義的常量xlXXXX

With obj_excel.Sheets(2) 
    .Range("A2:C25").Sort key1:=.Columns("C"), _ 
        Order1:=2, _ 
        OrderCustom:=1, _ 
        MatchCase:=False, _ 
        Orientation:=1, _ 
        DataOption1:=0 

End With 
+0

哦!非常感謝你,它終於爲我工作了! thanksss – Ghilherme