列出一个工作簿中所有已使用的自定义函数
需要添加对VB项目的信任
Sub UDFSOFACTIVEWORKBOOK()
Dim sh As Worksheet, r As Range, dic As Object, i As Long, temp As String, vbcomp, s() As String, UDF As String
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
Set vbcomp = ActiveWorkbook.VBProject.VBComponents(i)
If vbcomp.Type = 1 Then temp = temp & vbCrLf & vbcomp.CodeModule.Lines(1, 65536)
Next
s = Split(temp, vbCrLf)
temp = ""
For i = 0 To UBound(s)
If s(i) Like "Function * As *" Then temp = temp & "@" & "=" & Trim(Split(Split(s(i), "(")(0), "Function")(1)) & "(" '--->All functions with or without parameters
Next
Set dic = CreateObject("scripting.dictionary")
For Each sh In Sheets
For Each r In sh.UsedRange
If r.HasFormula Then
If InStr(temp, "@" & Split(r.Formula, "(")(0)) > 0 Then
UDF = r.Formula & "udf"
Else
UDF = ""
End If
If Not dic.exists(r.Formula) Then dic.Add r.Formula, UDF
End If
Next
Next
Debug.Print "All functions used in activesheet" & vbCrLf & String(50, "-") & vbCrLf & Join(dic.keys, vbCrLf) & vbCrLf & vbCrLf '列出一个工作簿中所有函数
Debug.Print "All user define functions used in activesheet" & vbCrLf & String(50, "-") & vbCrLf & Replace(Join(Filter(dic.items, "udf"), vbCrLf), "udf", "") '列出一个工作簿中所有已使用的自定义函数
Set dic = Nothing
End Sub
转载于:https://www.cnblogs.com/fengju/archive/2007/08/06/6336295.html
列出一个工作簿中所有已使用的自定义函数相关推荐
- 创建到另一个工作簿中已定义名称的外部引用的帮助(Excel)
创建到另一个工作簿中已定义名称的外部引用的帮助(Excel) 打开将包含外部引用的工作簿(目标工作簿)和包含要链接到的数据的工作簿(源工作簿). 在源工作簿中,单击快速访问工具栏上的"保存& ...
- 6.9对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格
# 对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格 import xlwings as xw import pandas as pd app = xw.App(visible=False ...
- Excel如何将多个工作簿合并到一个工作簿中
如下图文件夹中含有六个工作簿,现在想要将这六个工作簿合并到一个工作簿中. 新建一个工作簿 点击下图选项(Excel工具箱,百度即可了解详细的下载安装方法,本文这里不作详细叙述) 点击[汇总拆分] 选择 ...
- 多个excel工作簿合并_「Excel技巧」批量将多个工作簿的工作表合并到一个工作簿中...
多个工作簿里的表格合并到一个工作簿中,在日常工作中应该经常碰到吧. 怎么合并会比较快又省事? 当然,肯定不是复制粘贴,要合并的工作簿多的情况下,这种方式很耗力气. 不妨,试试用VBA代码法. 今天来讲 ...
- Excel 合并一个工作簿中的所有工作表
Excel 合并一个工作簿中的所有工作表 最近在做一个统计表的时候发现了一个问题,我一个工作簿中有许多工作表,我要把它们汇总到一个工作表中进行统计.一个个复制非常麻烦,那么我们怎么来进行简化操作: 1 ...
- 如何在Excel中将工作表复制或移动到另一个工作簿中
There may be times when you need to copy or move a worksheet into another workbook in Excel or make ...
- Python+Excel系列: 案例三:批量重命名一个工作薄中的所有工作表、批量重命名一个工作簿中的部分工作表
文章目录 批量重命名一个工作薄中的所有工作表 批量重命名一个工作簿中的部分工作表 批量重命名一个工作薄中的所有工作表 例:把table文件夹下一个工作簿中所有工作表名中的"销售"二 ...
- excel合并多个工作表_如何快速的合并多个 Excel 工作簿至一个工作簿中的工作表?...
作者:汪汪家的宝贝 链接:https://www.jianshu.com/p/c8ae6852f1da 前言 在日常工作过程中,我们有可能需要把多个Excel工作簿的内容汇总到一张Excel工作表中. ...
- WPS 合并一个工作簿中多个工作表
1.目的: 一个工作簿中有多个工作表,每个工作表的字段名称和字段数量以及字段排列顺序一致,需求是把这些工作表合并成一个工作表. 2.处理方法:通过 wps 的 vba 代码实现. 3.操作步骤: 1. ...
- excel表格中,公式生成的数据如何复制到另一个工作簿中?
选中需复制的数据,复制,然后到另一个工作簿,点选择性粘贴,勾选数值,确定就ok了
最新文章
- 如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)
- oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题
- 如何进入、退出docker的container
- 可能是性价比最高的,0-180度乐高舵机解决方案
- 历史上最简单的一道Java面试题,但无人能通过
- c语言药房系统书写指导书,C语言药房管理系统[文书借鉴]
- SharePoint 2010 初体验(二)搭建一个简单的三态工作流
- 数据库服务器 之 Postgresql备份和恢复------SQL转储篇
- 为什么要在沙河中设置小堤坝?
- Java命令:jinfo — 查看进程参数
- 最近公共祖先_leetcode No.236 二叉树的最近公共祖先
- HTML5教程:1.3 HTML 5的使用理由和待解决问题
- 老是说我编译版本不够_编译etcd出现的cannot load bufio的错误解决办法
- r语言中paste函数_R中的paste()函数-简要指南
- 微任务,宏任务和Event-Loop
- 【数字图像处理matlab】sobel、prewitt算子图像锐化
- NOI2022游记,未曾设想的道路
- 百度云网盘不限速下载之Google Chrome浏览器+SwitchyOmega插件
- eclipse jvm_一种与众不同的JVM语言:Eclipse Xtend(现在适用于Android)
- 自控力读书笔记:第三章 累到无力抵抗:为什么自控力和肌肉一样有极限?