Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'↑在預設的按兩下動作之前,按兩下工作表時,即發生此事件。
'https://learn.microsoft.com/zh-tw/office/vba/api/excel.worksheet.beforedoubleclick
Dim T$, V%
'↑宣告變數:T是字串變數,V是短整數變數
With Target
'↑以下是關於觸發的程序
If .Address = "$E$5" Then
'↑雙擊滑鼠左鍵如果儲存格位址是 "$E$5" ??
T = [E5]
'↑令T這字串變數是[E5]的內容字串
V = Val(Mid(T, 2))
'↑令V這整數變數是 T字串變數第2個字開始後面的所有字元,再以Val()轉化為數值 http://forum.twbts.com/viewthrea ... a=pageD1&page=2
[E5] = Left(T, 1) & V + 1
'↑令[E5]儲存格值是 T字串變數第1個字,連接V整數變數+1,所組成的新字串
Cancel = True
'↑取消原儲存格左鍵預設的按兩下動作
Beep
'↑發出嗶聲
End If
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'↑當使用者或外部連結變更工作表中的儲存格時會發生此事件。
'https://learn.microsoft.com/zh-tw/office/vba/api/excel.worksheet.change
Dim xF As Range, Da&, Db&, xRow&, VL
'↑宣告變數:xF是儲存格變數,(Da,Db,xRow)是長整數變數,VL是通用型變數
With Target
'↑以下是關於觸發的程序
If .Address = "$K$1" Then
'↑儲存格值編輯如果儲存格位址是 "$K$1" ??
Set xF = [K2:K6000].Find(.Value, LookIn:=xlValues, lookat:=xlWhole)
'↑令xF這儲存格變數是 用Find()方法,以[K1]值尋找[K2:K6000]儲存格裡 值全部相同的儲存格
'https://learn.microsoft.com/zh-tw/office/vba/api/excel.range.find
If Not xF Is Nothing Then xRow = xF.Row
'↑如果xF這儲存格變數有找到,就令xRow變數是 xF這儲存格變數的列號數字
If .Value = "" Then xRow = 3
'↑如果[K1]值是 空字元,就令xRow變數是 3
If xRow > 0 Then ActiveWindow.ScrollRow = xRow: Range("M" & xRow + 1).Select
'↑如果xRow變數 > 0,就讓 xRow變數列於視窗在至頂位置:令儲存格游標在M欄的下一列上
End If
Beep
End With
End Sub作者: BV7BW 時間: 2023-1-5 22:56