2012-03-13 74 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应根据需要运行。

希望这会有所帮助。

编辑:格式化,说明