vb exportar a excel
Opción explícita
Sub privado Form_Load()
Dim i As Long, j As Long
Me.MSHFlexGrid1.Rows = 2000
Me.MSHFlexGrid1.Cols = 10
Para i = 0 Para Mí.MSHFlexGrid1.Rows - 1
Para j = 0 Para Mí.MSHFlexGrid1.Cols - 1
Me.MSHFlexGrid1.TextMatrix(i, j) = i & "fila" & j & "columna"
Siguiente
Siguiente
Debug.Print Me.MSHFlexGrid1.TextArray(100)
End Sub
Private Sub cmdExport_Click()
Dim i As Long, j As Long
Atenuar CellsData() como cadena
Atenuar objApp como Excel.Application
Atenuar objWorkbook como Excel.Workbook
Atenuar objWorksheet como Excel.Worksheet
Dim objRange As Excel.Range
'Construir una matriz bidimensional
ReDim CellsData(1 To Me.MSHFlexGrid1.Rows, 1 To Me.MSHFlexGrid1.Cols)
Para i = 1 para mí.MSHFlexGrid1.Rows
Para j = 1 para mí.MSHFlexGrid1.Cols
CellsData(i , j ) = Me.MSHFlexGrid1.TextMatrix(i - 1, j - 1)
Siguiente
Siguiente
'Exportar a Excel
Establecer objApp = Nueva aplicación Excel
objApp.ScreenUpdating = False 'Desactivar actualización de pantalla
Establecer objWorkbook = objApp.Workbooks.Add
Establecer objWorksheet = objWorkbook .Sheets.Add
Establecer objRange = objWorksheet.Range(objWorksheet.Cells(1, 1), objWorksheet.Cells(Me.MSHFlexGrid1.Rows, Me.MSHFlexGrid1.Cols))
objRange.Value = CellsData
objApp.Visible = True
objApp.ScreenUpdating = True
'Destruye la matriz bidimensional
Borrar CellsData
Me.SetFocus
MsgBox "Exportación completada"
End Sub