举例:Excel2007
打开vba编辑器
依次单击Office按钮,然后选择“Excel选项”:
单击“常用”,然后勾选“在功能区显示‘开发工具’选项卡”,然后单击“确定”:
依次单击“开发工具,Visual Basic”后,即可打开VBA编辑器:
使用Vba编辑器
右击需要插入代码的表,如,本文要达成的目标是单击一个按钮,然后实现对B列3-11单元格的成绩进行等级评定。假设要实现目标的数据位置在Sheet1上,则右击Sheet1,依次单击“插入,模块”,即可打开代码输入框:
在打开的代码编辑框里面粘贴如下方的代码,然后直接单击VBA编辑器右上角的关闭按钮:
Sub 评定等级()
Dim i As Integer
For i = 3 To 11
t = Sheets(1).Cells(i, 2).Value '取得成绩
If t >= 90 Then
j = "A"
ElseIf t >= 80 Then
j = "B"
ElseIf t >= 70 Then
j = "C"
ElseIf t >= 60 Then
j = "D"
Else
j = "E"
End If
Sheets(1).Cells(i, 3) = j
Next
End Sub
依次单击“开发工具,插入,按钮”:
在合适的位置直接左键拖出一个按钮,在弹出的“指定宏”对话框里面选择“评定等级”,然后单击“确定”:
单击刚添加的按钮“按钮1”:
按下按钮之后,即可在C列对应的表格里面显示成绩等级,如下:
ADO连接97-03版本和07版本的connection string不同。至于引用哪个,一般引用最高版本的就可以了
Public Sub link() ‘03版
FileStr = ThisWorkbook.Path & "\" & "MX-Monthly Report.xls"
'Set Cnn = CreateObject("ADODB.Connection")
With Cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & FileStr & ";" & _
"Extended Properties=Excel 8.0;"
.Open
End With
end sub
Public Sub link2() ’07版
FileStr = ThisWorkbook.Path & "\" & "MX-Monthly Report.xlsx"
'Set Cnn = CreateObject("ADODB.Connection")
With Cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & FileStr & ";" & _
"Extended Properties=Excel 8.0;"
.Open
End With
end sub
microsoft activex data object 2.8
这个问题问得好,我也经常被他困扰