2012-03-13 76 views
0

我需要Excel中格式問題的幫助,這會干擾我的Excel工作表中的VLOOKUP函數。Excel中的主要格式問題 - VLOOKUP

我有兩張超過20000列值作爲查找和相同數量的值作爲參考。這兩個單元格中的所有值都是非常格式化的,其中一些在單元格的左上角具有綠色三角形,一些是文本等。

在Excel中如何使用宏/ VBA刪除或使所有格式類似在兩張表中? VBA的原因是因爲要使用該文件的人需要一切自動化,並且完全不熟悉Excel。我已經在單元格中有VLOOKUP函數,我只需要使用格式。

回答

2

嘛,我拼用部分查找這樣:

在項目陣列,創建新的空第一列,然後再將這個公式

="+"&B2 

這將需要小區B2的含量,並添加+在它的前面。

當我做VLOOKUP,我加上「+」來searcheable值

=VLOOKUP("+"&A6,A:O,2,FALSE) 

因此,代替例如字符串和數字比較,我比較字符串,通過在前面加上「+」。

另一種方法是殺死所有格式: 選擇整列,單擊數據文本到列 - 界定,然後選擇所有界面。點擊完成。這將清除您的格式。

============================================== =============================

這是你要的VBA解決方案:

從Excel說它

=GetLookup(G2,A:C) 

這裏是VBA:

Function GetLookup(LOOKFOR As String, RANGEARRAY As Range) As String 
    GetLookup = Application.WorksheetFunction.VLookup("+" & LOOKFOR, RANGEARRAY, 3, False) 
End Function 

祝你好運!

+0

@ Andrew:謝謝你的迴應。這工作絕對好。我只需要一個更多的幫助,對不起,如果我問很多。用宏/ VBA做這個「+」和vlookup函數有可能嗎? – Nupur 2012-03-14 15:50:54

+0

@Gaffi:謝謝你的迴應。代碼給我一個錯誤。當我調試它時,它突出顯示以下行:YourSheet1.Range(「A1」)。FormatConditions = YourSheet2.Range(「A1」)。FormatConditions YourSheet1.Range(「A1」)。Font = YourSheet2.Range(「A1」) .Font YourSheet1.Range(「A1」)。Borders = YourSheet2.Range(「A1」)。Borders'設置單元格的顏色/圖案YourSheet1.Range(「A1」)。Interior = YourSheet2.Range(「A1」 ).Interior – Nupur 2012-03-14 15:52:17

+0

@Nupur我將VBA添加到了我的文章 – Andrew 2012-03-14 16:51:02

1

我假設所有單元格中的數據類型都是相同的,或者您希望它們全都相同。下面的步驟將會使細胞均勻類型:

  1. 保存工作簿,在情況下,你需要
  2. 選擇您希望是相同的細胞類型的
  3. 按Ctrl所有的細胞中,這種沒有做+1,在「數字」選項卡上,選擇希望這些單元格的類型。按OK。
  4. 打開使用ALT + F11
  5. 打開立即窗口VBA編輯器使用Ctrl + G
  6. 鍵入以下內容:用於選擇每個小區:cell.formula = cell.value:下一小區
  7. 按回車鍵(您可能需要等待幾秒鐘)。

如果您在兩個範圍內都採用相同數據類型的操作(例如,在步驟3中選擇「Text」作爲兩個範圍),則應該「將蘋果與蘋果進行比較」,並且您的VLOOKUP應根據需要運行。

希望這會有所幫助。

編輯:格式化,說明