Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Sub MySub()
Range("A1").Resize(2, 3).Select
End Sub
Sub 成績()
If Range("A2") = 100 Then
MsgBox "買電腦"
ElseIf Range("A2") >= 90 Then
MsgBox "買筆"
ElseIf Range("A2") >= 60 Then
MsgBox "買其它"
Else
MsgBox "要打"
End If
End Sub
Sub KK()
Dim i As Integer, j As Integer, sht As Worksheet 'i,j為整數變數;sht 為excel工作表物件變數,指向某一工作表
'Dim cn As New ADODB.Connection '定義資料鏈接物件 ,保存連接資料庫資訊;請先添加ADO引用
'Dim rs As New ADODB.Recordset '定義記錄集物件,保存資料表
Set rs = CreateObject("ADODB.Recordset")
Set cn = CreateObject("ADODB.Connection")
'Dim cm As New ADODB.Connection
Dim strCn As String, strSQL As String '字串變數
strCn = "Provider=sqloledb;Server=.;Database=zyluxinfo;Uid=sa;Pwd=741852;" '定義資料庫鏈結字串"
'下面的語句將讀取資料表資料,並將它保存到excel工作表中:畫兩張表想像一下,工作表為一張兩維表,記錄集也是一張兩維表
strSQL = "SELECT * FROM tEmployee WHERE empid<='000100'" '定義SQL查詢命令字串
cn.Open strCn '與資料庫建立連接,如果成功,返回連接物件cn
rs.Open strSQL, cn '執行strSQL所含的SQL命令,結果保存在rs記錄集物件中
i = 1
'Set sht = ActiveWorkbook.Worksheets("sheet1") '把sht指向當前工作簿的sheet1工作表
Do While Not rs.EOF '當資料指標未移到記錄集末尾時,迴圈下列操作
Sheet1.Cells(i, 1) = rs("empid") '把當前記錄的欄位1的值保存到sheet1工作表的第i行第1列
Sheet1.Cells(i, 2) = rs("empName") '把當前欄位2的值保存到sheet1工作表的第i行第2列
rs.MoveNext '把指標移向下一條記錄
i = i + 1 'i加1,準備把下一記錄相關欄位的值保存到工作表的下一行
Loop '迴圈
rs.Close '關閉記錄集,至此,程式將把某資料表的欄位1和欄位2保存在excel工作表sheet1的第1、2列,行數等於資料表的記錄數
cn.Close
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
' MsgBox Sheet1.Cells(Target.Row, Target.Column).Value
Dim i As Integer, j As Integer, sht As Worksheet 'i,j為整數變數;sht 為excel工作表物件變數,指向某一工作表
Set rs = CreateObject("ADODB.Recordset")
Set cn = CreateObject("ADODB.Connection")
'Dim cm As New ADODB.Connection
Dim strCn As String, strSQL As String '字串變數
strCn = "Provider=sqloledb;Server=.;Database=zyluxinfo;Uid=sa;Pwd=741852;" '定義資料庫鏈結字串"
'下面的語句將讀取資料表資料,並將它保存到excel工作表中:畫兩張表想像一下,工作表為一張兩維表,記錄集也是一張兩維表
strSQL = "SELECT * FROM tEmployee WHERE empid='" & Sheet1.Cells(Target.Row, Target.Column) & "'" '定義SQL查詢命令字串
cn.Open strCn '與資料庫建立連接,如果成功,返回連接物件cn
rs.Open strSQL, cn '執行strSQL所含的SQL命令,結果保存在rs記錄集物件中
i = 1
'Set sht = ActiveWorkbook.Worksheets("sheet1") '把sht指向當前工作簿的sheet1工作表
Do While Not rs.EOF '當資料指標未移到記錄集末尾時,迴圈下列操作
'sht.Cells(i, 1) = rs("empid") '把當前記錄的欄位1的值保存到sheet1工作表的第i行第1列
Sheet1.Cells(Target.Row, Target.Column + 1) = rs("empName") '把當前欄位2的值保存到sheet1工作表的第i行第2列
rs.MoveNext '把指標移向下一條記錄
'i = i + 1 'i加1,準備把下一記錄相關欄位的值保存到工作表的下一行
Loop '迴圈
rs.Close '關閉記錄集,至此,程式將把某資料表的欄位1和欄位2保存在excel工作表sheet1的第1、2列,行數等於資料表的記錄數
cn.Close
End Sub
'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'MsgBox Sheet1.Cells(ActiveCell.Row, ActiveCell.Column)
'End Sub