Vba发现&用宏替换一个数字.Excel

时间:2013-05-14 17:43:41

标签: vba excel-vba excel

我正在进行启发式分析,我遇到以下问题:

我想在列D中找到与列J匹配的数字,并用" 0"替换它们。您可以看到我在此图片上尝试执行的操作:http://imageshack.us/f/96/heuristic.jpg/

代码的某些部分:

   Dim i,j As Integer
   Dim temp As String
   Dim x As Integer
   Dim d As String

   i = Application.CountA(Range("E:E")) + 10
   'number of cell with values
   j = Application.CountA(Range("J:J")) + 10
   For j = 11 To j
        temp = Range("J" & j).Value
          For i = 11 To i
           d = Range("D" & i).Value
           *
           Next
  Next

*问题在于,我无法弄清楚如何在D列中传递逗号","并存储数据。我想比较"d"上的temp和value,但"d"。我可以在同一个单元格中使用多个号码,例如"3,2,1",以及是否有temp = 3, then d= "0,2,1"之类的匹配。

英语不是我的母语,所以我希望你能理解我想要的东西。

1 个答案:

答案 0 :(得分:1)

不需要VBA。标准Excel函数将起作用:

  1. 在D列附近的某处创建一个新列。
  2. 在新专栏中,使用此公式=IF(ISERROR(VLOOKUP(D11,J:J,1,FALSE)),D11,0)。此公式在列J中查找D11的值。如果找到匹配,则返回0。否则,返回D11。
  3. 如果需要,可以隐藏D栏以避免混淆。
  4. 如果必须多次执行此操作,您可能希望使用未格式化的“原始数据”选项卡和干净的“显示选项卡”。这有帮助吗?