Note: The other languages of the website are Google-translated. Back to English

如何使用單元格註釋查找和返回匹配值?

當您應用Vlookup函數返回匹配值時,它將僅提取該值而無需設置格式,例如填充顏色,字體或註釋等。但是,有時,您可能需要vlookup並返回包含註釋的匹配值獲得以下屏幕截圖結果。 您如何在Excel中解決這項工作?

Vlookup並通過使用VBA代碼返回帶有單元格註釋的匹配值


Vlookup並通過使用VBA代碼返回帶有單元格註釋的匹配值

下面的VBA代碼可以幫助您vlookup並返回帶有其註釋的匹配值,請執行以下操作:

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼複製並粘貼到 模塊 窗口。

VBA代碼:Vlookup並返回帶有單元格註釋的匹配值:

Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .Comment Is Nothing Then
                .Comment.Delete
            End If
            If Not xCell.Comment Is Nothing Then
                .AddComment xCell.Comment.Text
            End If
        End With
    End If
End Function

3。 然後保存代碼並關閉代碼窗口,輸入以下公式: = vlookupcomment(H2,A2:C10,3,FALSE) 放入空白單元格以找到結果,然後按 Enter 鍵,匹配的值以及註釋會立即返回,請參見屏幕截圖:

備註:在以上公式中, H2 是您要返回其對應值的查找值, A2:C10 是您要使用的數據表,數字 3 是包含您要返回的匹配值的列號。


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (20)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
我將如何做與 Hlookup 而不是 vlookup 相同的操作?

我將代碼更改如下:
函數 hlookupComment(LookVal As Variant, FTable As Range, Frow As Long, FType As Long) As Variant
'更新通過 Extendoffice
Application.Volatile
Dim xRet As Variant '可能是一個錯誤
將 xCell 調暗為範圍
xRet = Application.Match(LookVal, FTable.Rows(1), FType)
如果 IsError(xRet) 則
hlookupComment = "未找到"
其他
設置 xCell = FTable.Rows(Frow).Cells(1)(xRet)
hlookupComment = xCell.Value
使用 Application.Caller
If Not .Comment is nothing then
.評論.刪除
如果結束
If Not xCell.Comment is nothing then
.AddComment xCell.Comment.Text
如果結束
結束
如果結束
函數結束
網站主持人對此評論進行了最小化
有沒有辦法讓 vlookup 評論複製原始評論的格式? 我的一些評論很長,但是從vlookup返回的評論總是標準的小號,所以我無法閱讀所有的文字
網站主持人對此評論進行了最小化
你好,卡爾,
可能沒有直接的方法可以解決您的問題,但是,您可以手動將評論框拖大。 或者您可以應用我們的 Kutools for Excel 的自動調整評論功能,它可以幫助您調整評論框以適應內容。謝謝!
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
我們可以使用 B 列(訂單列)中的單元格作為 C 列(名稱)中單元格的註釋。 例如,海倫的評論是 80。
感謝您的幫助。
網站主持人對此評論進行了最小化
坦率
你好,

如果電子表格受保護,當我打開工作簿時,單元格會返回錯誤 #VALUE!

我們如何解決這個問題?
網站主持人對此評論進行了最小化
你好,弗蘭克,
插入代碼後,您應該將您的工作簿保存為 Excel 啟用宏的工作簿格式,這樣代碼就不會丟失。
請試試! 謝謝!
網站主持人對此評論進行了最小化
謝謝,這很有幫助,我有話要問它返回單元格註釋,但圖像(使用填充效果插入)不顯示
請幫我解決這個問題
網站主持人對此評論進行了最小化
沙米姆,
抱歉,沒有直接的代碼可以解決您的問題,如果有人有解決方案,請在此處發表評論。
網站主持人對此評論進行了最小化
我的評論對於默認框大小來說太大了。 有沒有辦法增加評論框的大小或可能減小字體大小?
網站主持人對此評論進行了最小化
如果其他人需要這個。


函數 VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant

'更新通過 Extendoffice

Application.Volatile

Dim xRet As Variant '可能是一個錯誤

將 xCell 調暗為範圍

xRet = Application.Match(LookVal, FTable.Columns(1), FType)

如果 IsError(xRet) 則

VlookupComment = "-"

其他

設置 xCell = FTable.Columns(FColumn).Cells(1)(xRet)

VlookupComment = xCell.Value

使用 Application.Caller

If Not .Comment is nothing then

.評論.刪除

如果結束

If Not xCell.Comment is nothing then

.AddComment xCell.Comment.Text

.Comment.Shape.ScaleWidth 2,msoFalse,msoScaleFromTopLeft

.Comment.Shape.ScaleHeight 2.5,msoFalse,msoScaleFromTopLeft

如果結束

結束

如果結束

函數結束
網站主持人對此評論進行了最小化
我只想使用 Vlookup 將評論作為單元格值...
網站主持人對此評論進行了最小化
我可以在第一時間做到這一點。 但是在我嘗試使用多個單元格的更改公式之後。 現在不行了。 即使我輸入 vlookupcomment,單元格也會變為空白。
網站主持人對此評論進行了最小化
你好! 我很高興我找到了這個,問題是,這實際上適用於筆記,而不是評論。 有沒有辦法處理評論而不是筆記? 在筆記中我無法標記我的同事,也無法回复。 多謝!
網站主持人對此評論進行了最小化
這是一個美妙的。 但是當使用此代碼時,我發現文件在 Excel 365 上崩潰了很多。刪除自動保存時,我發現它好一點。 但是文件中有多個用戶,文件會一直崩潰。 此代碼是否使用大量內存還是兼容性問題? 想法? 謝謝
網站主持人對此評論進行了最小化
不為我工作。 我得到#NAME? 當我使用這個公式時出錯。 請幫忙。
網站主持人對此評論進行了最小化
您好,Sajjad,您是否將本文的 VBA 代碼放入您的工作簿中? 請檢查一下。或者您使用的是哪個 Excel 版本?謝謝!
網站主持人對此評論進行了最小化
你好,這是一個非常好的功能,但它適用於筆記,而不是評論(至少這是我的母語翻譯的方式)。 有什麼方法可以將它從註釋更改為註釋嗎? 另外,有沒有辦法保持單元格格式? (原始單元格的顏色等)。
網站主持人對此評論進行了最小化
我有同樣的問題。 我只能說嘗試通過 vba 複製評論和註釋...只複製註釋,而不是註釋(儘管具有相同的含義,但功能不同)...註釋似乎是靜態的,不像評論,您可以繼續“發布”以添加新文本......可能這就是原因......
網站主持人對此評論進行了最小化
嗨,法娜,
要在 Office 365 中提取與評論匹配的記錄,請應用以下代碼:
Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .CommentThreaded Is Nothing Then
                .ClearComments
            End If
            If Not xCell.CommentThreaded Is Nothing Then
                .AddCommentThreaded xCell.CommentThreaded.Text
            End If
        End With
    End If
End Function


粘貼代碼後,應用此公式: = vlookupcomment(H2,A2:C10,3,FALSE) 以及。

請嘗試,希望對您有所幫助!
網站主持人對此評論進行了最小化
很多。 高度讚賞!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護