跳到主要內容
 

在Excel中使用Vlookup時如何復制查找單元格的源格式?

新增一名作者 最後修改時間:2024-11-01

在先前的文章中,我們討論了在Excel中的vlookup值時保持背景顏色的問題。 在本文的此處,我們將介紹一種在Excel中執行Vlookup時復制生成的單元格的所有單元格格式的方法。 請執行以下操作。

在具有用戶定義功能的Excel中使用Vlookup時復制源格式


在具有用戶定義功能的Excel中使用Vlookup時復制源格式

假設您有一個表格,如下所示。 現在,您需要檢查指定的值(在E列中)是否在A列中,並以C列中的格式返回相應的值。請執行以下操作以實現該目的。

vlookup保持單元格格式

1.在工作表中包含您要vlookup的值,右鍵單擊工作表選項卡,然後選擇 查看代碼 從上下文菜單中。 看截圖:

右鍵單擊工作表標籤並選擇查看代碼

2.在開幕 Microsoft Visual Basic for Applications 窗口,請將下面的VBA代碼複製到“代碼”窗口中。

VBA代碼1:Vlookup和帶有格式化的返回值

Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20211203
    Dim I As Long
    Dim xKeys As Long
    Dim xDicStr As String
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    xKeys = UBound(xDic.Keys)
    If xKeys >= 0 Then
        For I = 0 To UBound(xDic.Keys)
            xDicStr = xDic.Items(I)
            If xDicStr <> "" Then
                Set xRg = Application.Range(xDicStr)
                xRg.Copy
                Range(xDic.Keys(I)).PasteSpecial xlPasteFormats
            Else
                Range(xDic.Keys(I)).Interior.Color = xlNone
            End If
        Next
        Set xDic = Nothing
    End If
    Application.ScreenUpdating = True
    Application.CutCopyMode = True
End Sub

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

VBA代碼2:Vlookup和帶有格式化的返回值

Public xDic As New Dictionary
'Update by Extendoffice 20211203
Function LookupKeepFormat(ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
    Dim xFindCell As Range
    On Error Resume Next
    Application.ScreenUpdating = False
    Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
    If xFindCell Is Nothing Then
        LookupKeepFormat = " "
        xDic.Add Application.Caller.Address, " "
    Else
        LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
        xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address(External:=True)
    End If
    Application.ScreenUpdating = True
End Function

4。 點擊 工具 > 參考。 然後檢查 Microsoft腳本運行時 盒子裡 參考– VBAProject 對話框。 看截圖:

工具 > 引用,然後選取 Microsoft 腳本執行時框

5。 按 其他 + Q 退出鍵 Microsoft Visual Basic for Applications 窗口。

6. 選擇與查找值相鄰的空白單元格,然後輸入公式 =LookupKeepFormat(E2,$A$1:$C$8,3) 配方欄,然後按 Enter 鍵。

應用公式得到第一個結果

備註: 在公式, E2 包含您要查找的值, $ A $ 1:$ C $ 8 是表格範圍和數字 3 表示您將返回的相應值位於表的第三列。 請根據需要更改它們。

7. 繼續選擇第一個結果單元格,然後向下拖動填充手柄以獲取所有結果及其格式,如下圖所示。

將公式拖曳並填充到其他儲存格

kutools for excel ai 的螢幕截圖

使用 Kutools AI 解鎖 Excel 魔法

  • 智慧執行:執行單元格操作、分析資料並建立圖表 - 所有這些都由簡單的命令驅動。
  • 自定義公式:產生客製化公式以簡化您的工作流程。
  • VBA編碼:輕鬆編寫和實作 VBA 程式碼。
  • 公式解讀:輕鬆理解複雜的公式。
  • 文字翻譯:打破電子表格中的語言障礙。
使用 AI 支援的工具增強您的 Excel 功能。 立即下載 並體驗前所未有的效率!

相關文章:

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  會員專區 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...


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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!