|
|
|
VBA из VB6
|
|||
|---|---|---|---|
|
#18+
Есть процедура кторы массив данных выводит в ексель и там пытается отсортировать, но при этом дойдя то этого места oSheet.Range("A5:I" + Trim(str(GridEX1.ItemCount + 4))).Sort Key1:=oSheet.Range("B5"), Order1:=xlAscending ругается "Метод Sort Из класса Range завершен неверно, что не так ???? Dim oExcel As Object Dim oBook As Object Dim oSheet As Object Dim toprint As Variant Dim days As Integer Set oExcel = CreateObject("Excel.Application") Set oBook = oExcel.Workbooks.Add ReDim toprint(0 To GridEX1.ItemCount, 1 To 9) days = (DatePicker2 - DatePicker1) + 1 'For i = 1 To GridEX1.ItemCount ' GridEX1.Row = i ' toprint(i, 1) = GridEX1.value(1) ' toprint(i, 2) = Round(GridEX1.value(2), 2) ' toprint(i, 3) = Round(GridEX1.value(4), 2) ' toprint(i, 4) = Round(GridEX1.value(3), 2) ' toprint(i, 5) = Round(GridEX1.value(8), 2) ' toprint(i, 6) = Round(GridEX1.value(7), 2) ' toprint(i, 7) = Round(GridEX1.value(5), 2) ' toprint(i, 8) = Round(GridEX1.value(6), 2) ' toprint(i, 9) = Round(GridEX1.value(9), 2) 'Next i For i = 0 To GridEX1.ItemCount - 1 toprint(i, 1) = arBonus(1, i) ' тип строка toprint(i, 2) = Round(arBonus(2, i)) toprint(i, 3) = Round(arBonus(4, i), 2) toprint(i, 4) = Round(arBonus(3, i), 2) toprint(i, 5) = Round(arBonus(8, i), 2) toprint(i, 6) = Round(arBonus(7, i), 2) toprint(i, 7) = Round(arBonus(5, i), 2) toprint(i, 8) = Round(arBonus(6, i), 2) toprint(i, 9) = Round(arBonus(12, i), 2) Next i 'Добавить заголовки в строку 1, 2 Set oSheet = oBook.Worksheets(1) oSheet.Cells(1, 1).value = "Магазин " + Combo1.Text oSheet.Cells(2, 1).value = "За период c " + str(DatePicker1.value) + " по " + str(DatePicker2.value) ' массив загоняем oSheet.Range("A4").Resize(GridEX1.ItemCount, 9).value = toprint ' шапку рисуем oSheet.Range("A4:I4").value = Array("Наименование", "Продажи шт", "Продажи Р", "Продажи З", "Приб руб", "Приб %", "Остаток шт", "Остаток З", "Запас в днях") ' фоматируем шапки жирная oSheet.Range("A1", "I4").Font.Bold = True ' фоматируем ячйки дипазона и шапки oSheet.Range("A4", "I4").Resize(GridEX1.ItemCount, 9).Borders.LineStyle = 1 oSheet.Range("A1", "A1").ColumnWidth = 55 oSheet.Range("B1", "B1").ColumnWidth = 11 oSheet.Range("C1", "I1").ColumnWidth = 12 oSheet.Range("A5:I" + Trim(str(GridEX1.ItemCount + 4))).Sort Key1:=oSheet.Range("B5"), Order1:=xlAscending 'Форумалы итого oSheet.Range("B" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=СУММ(B5:B" + Trim(str(GridEX1.ItemCount + 3)) + ")" oSheet.Range("C" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=СУММ(C5:C" + Trim(str(GridEX1.ItemCount + 3)) + ")" oSheet.Range("D" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=СУММ(D5:D" + Trim(str(GridEX1.ItemCount + 3)) + ")" oSheet.Range("E" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=СУММ(E5:E" + Trim(str(GridEX1.ItemCount + 3)) + ")" oSheet.Range("F" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=E" + Trim(str(GridEX1.ItemCount + 4)) + "/D" + Trim(str(GridEX1.ItemCount + 4)) + "*100" oSheet.Range("G" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=СУММ(G5:G" + Trim(str(GridEX1.ItemCount + 3)) + ")" oSheet.Range("H" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=СУММ(H5:H" + Trim(str(GridEX1.ItemCount + 3)) + ")" oSheet.Range("I" + Trim(GridEX1.ItemCount + 4)).FormulaLocal = "=H" + Trim(str(GridEX1.ItemCount + 4)) + "/C" + Trim(str(GridEX1.ItemCount + 4)) + "*" + Trim(str(days)) ' числовой формат вывода ячейки oSheet.Range("B4", "I4").Resize(GridEX1.ItemCount + 1, 9).NumberFormat = "# ##0.00" oExcel.Visible = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 16:22:21 |
|
||
|
VBA из VB6
|
|||
|---|---|---|---|
|
#18+
в конкретном случае может и не поможет, но в строку с .Sort нужно обязательно добавить параметр Header, здесь Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 16:43:13 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=194&tid=2179440]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 308ms |

| 0 / 0 |
