- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 118
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-5-15
               
|
回復 10# jsc0518
搭配重算事件- Private Sub Worksheet_Calculate() '僅適用VLOOKUP函數
- Dim A As Range, C As Range, Rng As Range, Sht As Worksheet, Mc As Comment
- For Each A In Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas)
- If A.FormulaLocal Like "=VLOOKUP(*,*,*,*)" Then '是否是VLOOKUP函數
- fx = Split(Split(A.Formula, "(")(1), ",") '公式分解
- Set Rng = Sheets(Split(fx(1), "!")(0)).Range(Split(fx(1), "!")(1)) '來源資料範圍
- x = Range(fx(0)) '第一欄的搜尋值
- r = Rng.Find(x).Row '找到來源資料的列號
- k = Val(fx(2)) + Rng.Column - 1 '來源資料位於整個工作表的欄號
- If Not A.Comment Is Nothing Then A.Comment.Delete '刪除公式儲存格內的註解
- Set Mc = Rng.Parent.Cells(r, k).Comment '來源資料的註解
- If Not Mc Is Nothing Then A.AddComment Rng.Parent.Cells(r, k).Comment.Text '加入來源註解
- End If
- Next
- End Sub
複製代碼 |
|