在Excel中将现有的模块添加到工作表中

我有一个VBA模块的工作表。 它工作正常。 我复制这个工作表,并创build了第二个工作表,所以我会在这里使用不同的数据。 但在这个新的工作表模块不起作用。 我应该如何将它添加到新的工作表或者还有什么我应该做的? 谢谢。

VBA代码:

Function Super_match(fin As Range, LOD As Range) Dim test_arr As Variant fin_arr = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.Transpose(fin)) lod_arr = LOD ReDim test_arr(1 To UBound(fin_arr)) For l = 1 To UBound(fin_arr) test_arr(l) = 0 Next l For i = 1 To UBound(lod_arr, 1) For j = 1 To UBound(lod_arr, 2) For k = 1 To UBound(fin_arr) If fin_arr(k) = lod_arr(i, j) Then test_arr(k) = 1 End If Next k Next j If Application.WorksheetFunction.And(test_arr) Then Super_match = 1 Exit Function End If For l = 1 To UBound(fin_arr) test_arr(l) = 0 Next l Next i Super_match = 0 Debug.Print Super_match1 End Function 

和模块的公式:

 =Super_match(A2:B2,$H$2:$M$41) 

您应该可以将此function添加到代码模块中,将其从模块中移除,然后可以在任何工作表上使用。

要添加一个代码模块:

  • 在VBE(编码窗口)中,进入菜单项“插入”
  • select“模块”
  • 剪切并粘贴你的function到这个模块
  • 从其他工作表中删除您的function的任何其他实例
  • 通过select“debugging” – >“编译VBA项目”

如果有问题,你只会得到负面的反馈。 如果编译成功,那么“编译VBA项目”菜单项将变灰。

您应该可以在任何工作表的单元格中(在本工作簿中)使用您的function。