直接上代码
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格式就可以了。