Public
ExcelTable
As
Workbook
Private
TextBoxA()
As
Control
Private
FormWidth
As
Integer
Sub
CreateGrid(No, Data)
For
i = 1
To
CInt
(UBound(Data, 1))
For
j = 1
To
CInt
(UBound(Data, 2))
Set
a = Form1.Controls.Add(
"VB.TextBox"
,
"textbox"
&
CStr
(i) &
CStr
(j) &
CStr
(No))
ReDim
TextBoxA(1
To
i, 1
To
j)
Set
TextBoxA(i, j) = a
With
TextBoxA(i, j)
.Text = Data(i, j)
.Visible =
True
.Height = 200
.Width = 500
.Top = .Height * (i - 1)
.Left = .Width * (j - 1) + FormWidth
End
With
Next
Next
End
Sub
Private
Sub
Command1_Click()
Set
ExcelTable = CreateObject(
"Excel.sheet"
)
ExcelTable.Application.Workbooks.Open (App.Path +
"\address.xls"
)
For
i = 1
To
ExcelTable.Application.Worksheets.Count
Data = ExcelTable.Application.Worksheets(i).UsedRange.Value
DataType = VarType(Data)
Select
Case
DataType
Case
vbArray + vbVariant
Call
CreateGrid(i, Data)
Case
vbEmpty
End
Select
Next
End
Sub