zakariyaptpl Ответов: 1

Добавление данных в последнюю строку в excel экспорт из VB6


Привет дорогая ,

я хочу экспортировать в excel из flexgrid в vb6. я использую приведенный ниже код для этого, но мне нужно добавить сумму строк в последней строке .я не знаю, как написать код для этого .пожалуйста, помогите мне, если это возможно

Что я уже пробовал:

<pre>Private Sub Command3_Click()

Dim xlObject As Object
Dim xlWB As Object

        
    Set xlObject = CreateObject("Excel.Application")
 
    'This Adds a new woorkbook, you could open the workbook from file also
    Set xlWB = xlObject.Workbooks.Add
                
    Clipboard.Clear 'Clear the Clipboard
    
   With xlObject.ActiveWorkbook.Activesheet

   xlObject.range("A1:H1").Select
   xlObject.Selection.merge
  
   xlObject.Cells(1, 1).Value = "DXTREAM FITNESS"
   xlObject.Cells(1, 1).Font.Size = 12
   xlObject.Cells(1, 1).Font.fontstyle = "Bold"
   xlObject.Cells(2, 1).Value = DTPicker1.Value
   xlObject.Cells(2, 2).Value = "To"
   xlObject.Cells(2, 3).Value = DTPicker2.Value
   
   xlObject.Cells(1, 1).columnwidth = 9.86
   xlObject.Cells(1, 3).columnwidth = 25
   xlObject.Cells(1, 4).columnwidth = 10.43
   xlObject.Cells(1, 5).columnwidth = 7.57
   xlObject.Cells(1, 6).columnwidth = 7.14
   xlObject.Cells(1, 7).columnwidth = 6.87
   End With
   
    With MSGrid1
        'Select Full Contents (You could also select partial content)
        .Col = 0            'From first column
        .Row = 0               'From first Row (header)
        .ColSel = .Cols - 1    'Select all columns
        .RowSel = .Rows - 1    'Select all rows
    
        Clipboard.SetText .Clip 'Send to Clipboard
        
    End With
            
    With xlObject.ActiveWorkbook.Activesheet
        .range("A3").Select 'Select Cell A1 (will paste from here, to different cells)
        .Paste              'Paste clipboard contents
        
    End With
    

    ' This makes Excel visible
    xlObject.Visible = True
End Sub



это лист excel
DXTREAM FITNESS							
10/01/2018	To	16/01/2018					
Date	ID	Name	Receipt No:	Type	Amount	Vat	Gross
13/01/2018	0	zaki	111	New	150	7.5	142.5
13/01/2018	0	zaki	111	New	150	7.5	142.5
13/01/2018	None	None	11	Daily Collection	10	0.5	9.5

[no name]

но мне нужно добавить сумму строк в последней строке.Ваш вопрос довольно запутанный.Пожалуйста ,будьте конкретны,если вы хотите, чтобы в спред-листе была создана строка с общей суммой суммы, потому что, глядя на ваш вопрос, совершенно невозможно суммировать поля даты, имени, квитанции и т. д.

zakariyaptpl

Привет , сэр, мне нужно добавить новую строку внизу, чтобы упомянуть общую сумму, НДС и Брутто .

[no name]

https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-object-excel

zakariyaptpl

я получил его с помощью flexgrid row count.спасибо за Вашу поддержку

xlObject.Клетки(MSGrid1.RowSel + 3, 6).Value = "CCC"

1 Ответов

Рейтинг:
1

Richard MacCutchan

Вы можете добавить формулу в последнюю строку, чтобы автоматически вычислить сумму. Видеть Диапазон.Формула[^].


zakariyaptpl

Рабочие Листы("Лист1"). Диапазон("А1").Формула. в этом случае я не знаю, как получить номер последней строки, потому что количество строк будет варьироваться в зависимости от содержимого flexgrid . я попробовал приведенный ниже код, но не работает
Тусклый Ластро Так Же Долго
С Помощью ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Конец С

Richard MacCutchan

Подсчитайте количество строк в вашей сетке. Единственный способ, который я нашел с рабочим листом, - это пройти через каждую строку, чтобы увидеть, есть ли там какое-то содержимое, обычно проверяя столбец, в котором всегда есть запись. Когда вы попадаете в строку без содержания, то вы уже прошли последнюю строку.

zakariyaptpl

я получил его с помощью flexgrid row count.спасибо за Вашу поддержку

xlObject.Клетки(MSGrid1.RowSel + 3, 6).Value = "CCC"