在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。