7,759
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Dim Data() As Single
Private Sub Command1_Click()
Dim VBExcel As Object
Dim xlbook As Object
Dim xlssheet As Object
Dim i As Integer, j As Integer
Set VBExcel = CreateObject("Excel.Application")
CommonDialog1.FileName = ""
CommonDialog1.Filter = "EXCEL文件(*.xlsx)|*.xlsx"
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then
Exit Sub
Else
Set xlbook = VBExcel.Workbooks.Open(CommonDialog1.FileName)
Set xlssheet = xlbook.Worksheets(1)
VBExcel.Visible = False
ReDim Data(3, 11) As Single
For j = 1 To 11
Data(i, j) = xlssheet.Cells(i, j)
Next j
Next i
End If
For i = 1 To 3
For j = 1 To 9
V(i, j) = Data(i, j)
Next j
Next i
Set xlssheet = Nothing
Set xlbook = Nothing
Set VBExcel = Nothing
Dim WL As Double
Dim L As Double
Dim FH As Double
Dim DW As Double
Dim F As Double
Dim TW As Double
Dim VZ As Double
Dim P As Double
For i = 1 To 3
WL = V(i, 1)
L = V(i, 2)
FH = V(i, 3)
DW = V(i, 4)
F = V(i, 5)
TW = V(i, 6)
VZ = V(i, 7)
P = V(i, 9)
VS(i, 1) = V(i, 3) / V(i, 1)
VS(i, 2) = V(i, 4) / V(i, 2)
VS(i, 3) = V(i, 5) / V(i, 4)
VS(i, 4) = 0.5 * ((0.75 * P * 3.206 * 240) / (V(i, 4) * V(i, 4) * V(i, 5) / V(i, 1))) + 0.5 * ((0.8 * P * 3.206 * 240) / (V(i, 6) * V(i, 7)))
VS(i, 5) = 0.7355 * ((V(i, 6) ^ (2 / 3) * V(i, 7) ^ 3) / P)
Next i
For j = 0 To 28
If j < 9 Then
Text1(j).Text = V(1, j + 1)
ElseIf j < 19 Then
Text1(j).Text = V(2, j - 9)
Else
Text1(j).Text = V(3, j - 19)
End If
Next j
Cmd_Sure.Enabled = True
End Sub