簡體   English   中英

我如何使用vb6對excel中降序的列進行排序

[英]how can i sort columns descending in excel using vb6

我正在開發一個應用程序,將數據從數據庫加載到Excel工作表。 在這些列之一中,我需要以DESCENDING形式排序。 但是我只是做不到,因為一直以來這都會給我錯誤...以升序形式(默認),我可以做到這一點,並且它通過時沒有任何麻煩,但是當我嘗試放置降序的參數時,不通過。

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

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")

當然,還有更多的代碼...但是我只是在這里放了一些代碼片段和類似示例的圖表,以了解我的代碼是如何組織和聲明的。

*完成編輯

我的代碼可以使用的升序形式:

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

我嘗試添加降序參數的形式:

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

方法排序的參數,不是全部可選嗎?

使用實際值而不是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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM