Option Explicit
Private Sub Form_Load ()
Dim I as Long, J as Long
Me.MSHFlexGrid1.Rows = 2000
Me.MSHFlexGrid1.Cols = 10
For i = 0 to Me.mshflexgrid1.rows-1
For j = 0 to Me.mshflexgrid1.cols-1
Me.MSHFlexGrid1.TextMatrix (i, j) = i & "Rows" & J & "Columns"
Next
Next
Debug.Print Me.MSHFlexGrid1.TextArray (100)
End Sub
Private Sub Cmdexport_click ()
Dim I as Long, J as Long
Dim Cellsdata () as String
Dim objapp as Excel.Application
Dim Objworkbook as Excel.Workbook
Dim Objworksheet as Excel.Worksheet
Dim Objrange as Excel.Range
' Construct a two-dimensional array
ReDim Cellsdata (1 to Me.MSHFlexGrid1.Rows, 1 to Me.MSHFlexGrid1.Cols)
For i = 1 to Me.MSHFlexGrid1.Rows
For j = 1 to Me.MSHFlexGrid1.Cols
Cellsdata (i, j) = Me.MSHFlexGrid1.TextMatrix (i-1, j-1)
Next
Next
' Export to Excel
Set objapp = New Excel.Application
objapp.screenupdating = False ' Disable screen refresh
Set Objworkbook = ObjApp.Workbooks.Add
Set Objworksheet = ObjWorkbook.Sheets.Add
Set objrange = Objworksheet.range (Objworksheet.cells (1, 1), Objworksheet.cells (Me.MSHFlexGrid1.Rows, Me.MSHFlexGrid1.Cols))
Objrange.value = Cellsdata
objApp.Visible = True
objapp.screenupdating = True
' Destroy two-dimensional arrays
Erase Cellsdata
Me.setfocus
MsgBox "Export Complete"
End Sub
VB Export Data to Excel