2014-09-22 69 views
0

我在我的Excel表中有几个值应该被别人替换。 每当有例如“测试1”,我需要有“应用系统1.0”。我要用包含“测试1”的数据进行导出。然后,我想在所有分析中使用“测试1”“应用程序系统1.0”。你认为这是一个宏吗?或者我可以在每个想要“应用系统1.0”的单元格中插入一个公式?我想到了公式“TRANSPOSE”?那么也许我可以用相应的值做一个映射? 问题是,我用另一个公式生成值“测试1”。Excel如何替换值?移调?

=IF(ISERROR(VLOOKUP($I11,Export!$B:$AW,MATCH($J$1,Export!$B$4:$AW$4,0),0)),"",VLOOKUP($I11,Export!$B:$AW,MATCH($J$1,Export!$B$4:$AW$4,0),0)) 

所以当我在一个单元格中有一个特定的数字时,右边的“Test x”出现在单元格中。虽然现在,我不想再有“文字x”,但“应用系统1.0”。此外,我无法使用“应用系统1.0”,因为我从导出中获得了像前面所述的“测试x”值。我对此没有任何影响。

非常感谢您提前! 亲切的问候, 问题

+1

工作簿是否不断用“测试X”值更新或仅更新一次?如果经常使用应用系统1.0代替测试1的宏是最有意义的。如果这仅在导入时发生,只需执行查找并全部替换即可。 – xQbert 2014-09-22 13:27:51

+0

这对于宏来说非常简单。 **宏观解决方案是否可以接受?** – 2014-09-22 14:15:04

回答

0

此前从Excel中的数据导出,保存文件,然后运行这个简短的宏:

Sub FixText() 
    Application.ScreenUpdating = False 
    For Each r In ActiveSheet.UsedRange 
     v = r.Text 
     If v <> "" Then 
      If InStr(1, v, "Test 1") > 0 Then 
       r.Value = Replace(v, "Test 1", "Application System 1.0") 
      End If 
     End If 
    Next r 
    Application.ScreenUpdating = True 
End Sub 

注意,你应该保存第一因为宏将取代任何导致包含“测试1”的文本的公式。

+0

非常感谢。我必须考虑这一点,并在我的Excel表中尝试。但是,谢谢你的帮助! @加里的学生 – question 2014-09-23 06:39:10