直接上代碼
Private Sub SQL嶌惉_Click()
For si = 2 To Workbooks(1).Sheets.Count
Set mysheet = Workbooks(1).Sheets(si)
tableName = mysheet.Range("AM4").Value
Dim SQL As String
SQL = SQL & "create table [" & tableName & "] ( " & vbCrLf
MsgBox mysheet.UsedRange.Rows.Count
For i = 6 To mysheet.UsedRange.Rows.Count - 6
Dim nameStr As String
Dim typeStr As String
Dim typeLength As String
Dim com As String
nameStr = mysheet.Range("P" & i).Value
typeStr = mysheet.Range("AE" & i).Value
refStr = mysheet.Range("E" & i).Value
typeLength = mysheet.Range("AM" & i).Value
If nameStr <> "" And typeStr <> "" Then
If i = 6 Then
SQL = SQL & " [" & nameStr & "] " & typeStr & " primary key not null"
Else
SQL = SQL & " [" & nameStr & "] " & typeStr & "(" & typeLength & ")"
End If
If i < mysheet.UsedRange.Rows.Count - 6 Then
SQL = SQL & ","
End If
com = com & "COMMENT ON COLUMN " & tableName & "." & nameStr & " IS '" & refStr & "';" & vbCrLf
SQL = SQL & vbCrLf
End If
Next i
SQL = SQL & ")" & vbCrLf
SQL = SQL & "go" & vbCrLf
SQL = SQL & com & vbCrLf
com = ""
SQL = SQL & "-----Create table [" & tableName & "] end." & vbCrLf & vbCrLf
Next si
TextBox1.Value = SQL
End Sub
注意:通常的時候,excel保存不了,關閉excel直接沒了,另存爲xlsm格式就可以了。