Excel宏中自定义函数如何返回多值?

jsntsam 2003-08-20 08:08:10

我想计算结果的多个值作为Range对象返回

定义形式下面
Public Function F1(PRange As Range, N As Integer) As Range


End Function

但是Range对象是依赖于worksheet的,new都不行。

要达到上面的目的,如何做?
...全文
631 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gigilee 2004-03-24
  • 打赏
  • 举报
回复
那你就把那些range设值为全局变量吧
FredLee2004 2004-03-24
  • 打赏
  • 举报
回复
试试下面的代码:

Option Base 1

Public Function MyTest(ByRef TheData As Variant, ByVal RowNum As Long, ByVal ColNum As Long) As Variant
Dim RowLoop As Long, ColLoop As Long
Dim NewCell() As Variant
*** ReDim NewCell(RowNum, ColNum)
For RowLoop = 1 To RowNum
For ColLoop = 1 To ColNum
*** NewCell(RowLoop, ColLoop) = TheData.Cells(RowLoop, ColLoop).Value
Next ColLoop
Next RowLoop
MyTest = NewCell
End Function

上述代码要求提供Range参数以及该Range的行数和列数,并返回计算结果。
***行设定返回数据的格式和内容,你应该自己调整。
jsntsam 2004-03-23
  • 打赏
  • 举报
回复
up
HawaiiLeo 2003-08-23
  • 打赏
  • 举报
回复
Dim Num(6) As Integer
........

Public Sub F1(Num() As Integer, PRange As Range, N As Integer)

'把计算得到的值符值给数组Num就行了

End Sub

'在这就可以引用数组Num中的值了。
changechange 2003-08-21
  • 打赏
  • 举报
回复
连对象一起传进来不就可以了?
jsntsam 2003-08-21
  • 打赏
  • 举报
回复
以上两位的方法我都考虑过,但都没有成功。

哪位能不能具体点?
LeeZi 2003-08-21
  • 打赏
  • 举报
回复
数组呀,老大。
统计学实验报告 姓名: 学号: 班级: 成绩: 一、实验步骤总结 成绩: (一)实验数据的搜集与整理 实验步骤: 1、数据的搜集 a. 间接数据的搜集:可通过公开出版物及网络搜集数据,可直接进入网站查询,也可搜索 引擎; b. 直接数据的搜集:可通过两种途径获得,一是统计调查或观察,二是实验。统计调查是 取得社会经济数据的最主要的来源,它主要包括普查、重点调查、典型调查、抽样调 查、统计报表等调查方式,在此主要调查取得直接数据为主。 以下为其操作顺序:调查方案设计、调查问卷设计、问卷发放、问卷收回、数据初步整 理。 2、数据的编码:编码是对数据进行初步分组和确定数字代码的过程。它可以把复杂的文 字用简单的代码代替,有利于简化数据输入和处理。一般直接数据如果是由封闭式问题 获取,那么涉及问题的时候就已经对答案进行了预编码。如果数据是由开放式的问题来 获取的,那么,需要对答案进行罗列、合并、设码三个过程来完成编码工作。 3、数据的录入:数据的录入是将搜集到的数据直接输入到数据库文件中。数据录入既要 讲究效率,又要保证质量。Excel的数据录入操作比较简单,一般只要在工作表中,单击 激活一个单元格就可以录入数据了。单元格的切换可以使用鼠标,也可以在激活一个单 元格以后用Enter键(或者Tab)键,向下(或者向右)切换单元格。在单元格内部的换 行可以使用"Alt+Enter"。据录入中最重要的还是要保证数据形式完整和性质正确。这就 需要通过"格式- 单元格格式"(Ctrl+1)菜单来实现。对于录入重复数据,大家一般都习惯使用复制功能 (Ctrl+C),但是Excel在简单复制数据时不能保证格式的完整性,这个时候,就需要单 击鼠标右键,使用"选择性粘贴",进行设置来实现复制的格式要求。对于未输入(或未 确定格式)的数据,想要实现和已经输入数据相同的格式要求,则可以使用工具栏中的 "格式刷"。 4、数据的文件的导入:Excel数据文件的导入是将别的软件形成的数据或数据库文件, 转换到Excel工作表中。这样,大家就不必要掌握那么多纷繁复杂的软件,方便提高工作 效率,也方便协同处理数据。Excel支持文本文件、Office数据库文件、网页文件、Dba se文件、Paradox文件、Xml文件等多种外部数据源的导入。导入的方法有二,一是使用 "文件-打开"菜单,二是使用"数据-导入外部数据- 导入数据"菜单,两者都是打开导入向导,按向导一步步完成对数据文件的导入。 5、数据的筛选:数据的筛选是从大数据表单中选出分析所要用的数据。Excel中提供了 两种数据的筛选操作,即"自动筛选"和"高级筛选"。 6、数据的排序:Excel的排序功能主要靠"升序排列"("降序排列")工具按钮和"数据- 排序"菜单实现。在选中需排序区域数据后,点击"升序排列"("降序排列")工具按钮, 数据将按升序(或降序)快速排列。"数据- 排序"菜单可进行最多三级的条件排列。同时,"数据- 排序"菜单还可进行自定义排序,来实现那些直观从数据、时间、文本或字母上排序无意 义的数据排序特殊要求。一般要自定义特殊的排序要求,需要先使用"工具-选项- 自定义序列",手工输入新的排序序列,然后在"数据- 排序"菜单打开的排序对话框中点击"选项…",在新弹出的对话框的"自定义排序次序"下 拉框中选择手工输入的排序次序。此外,Excel分析工具库宏中的"排位与百分比排位"工 具,也能部分实现显示排序结果的功能。其调用菜单为"工具-数据分析- 排位与百分比排位"。 7、数据文件的保存:保存经过初步处理的Excel数据文件。可以使用"保存"工具按钮, 或者"文件-保存"菜单,还可以使用"文件-另存为"菜单。 (二)描述数据的图表方法 实验步骤: 1. 频数频率表: (一)Frequency函数 用途:以一列垂直数组返回某个区域中数据的频率分布。它可以计算出在给定的值域和 接收区间内,每个区间包含的数据个数。 语法:FREQUENCY(data_array,bins_array) 参数:data_array是用来计算频率一个数组,或对数组单元区域的引用。bins_array 是数据接收区间,为一数组或对数组区域的引用,设定对data_array 进行频率计算的分段点。 (二)直方图分析工具 "工具"——"数据分析"——"直方图" 2、统计图 a、直方图 b、折线图 c、散点图 (三)统计数据的描述 实验步骤: 1. 使用函数描述 2. "描述统计"工具:"工具"——"数据分析"——"描述统计" (四)参数估计 1、实验步骤:抽样 "抽样"分析工具将输入区域视为总体,并使用总体来建立样本。当总体过大而无法处 理或制成图表时,就可以使用代表样本。如果输入数据是周期性的,也可以建立只包 含某个周
Pulover Macro Creator 中文版是基于 AutoHotkey 的轻量级应用程序,可为您提供实用的自动化工具和脚本生成器。它显示了一个全面的界面,可让您记录鼠标的移动,键盘手势,管理窗口,文件,控件以及创建 If/Else 语句。为了使该应用程序直观易懂并使其有效,该应用程序的所有主要特征和功能都在顶部工具栏中保持了大量可用。 开源免费宏自动化工具 Pulover's Macro Creator 中文版 开源免费宏自动化工具 Pulover’s Macro Creator 中文版 特色亮点 Pulover Macro Creator 可以自动完成操作,从简单的鼠标单击到具有循环和条件的复杂宏。内置的记录器是一种方便的工具,可轻松创建精确的宏。 滑鼠与键盘 发送击键,键盘命令,移动并单击。 控制指令 在后台控制窗口。设置并从窗口的控件中获取信息。 窗口命令 等待窗口存在或处于活动状态。移动,调整大小,最大化,最小化和设置各种窗口设置。 图像和像素搜索 在屏幕上搜索图像或像素。制作屏幕截图并定义要采取的措施。 循环 简单和高级循环。遍历文件和文件夹,文本文件和对象。 如果陈述 控制宏设置条件的流程。 变量与函数 定义和修改变量和对象。使用字符串,数字和变量。创建数组。 Internet Explorer 和常规 COM 对象 IE 的简化界面,并支持自动热键表达式,从而可以控制 Excel 和 Word 等应用程序。 用户定义的功能 使用要在宏中使用的输入和输出值定义自己的函数。 使用 Pulover Macro Creator,您可以制作脚本,然后将其设置为自动执行各种繁琐的任务,这些任务只会消耗您一天的时间并降低生产力。无论您是需要插入自定义代码的程序员,还是开发人员测试应用程序功能并做出响应的开发人员,都可以轻松地为您提供帮助。 无需使用任何程序设计知识即可使用 Pulover Macro Creator,因为该应用程序设计为易于使用。如果您对宏是什么以及如何使用宏有基本的了解,那么只需单击记录按钮并导出项目就可以满足您的需要。 这并不意味着该应用程序仅限于基本脚本。使用Pulover的Macro Creator,您可以在一个脚本下加入不同的宏,然后从预览窗口中将代码复制到所需的任何位置。它提供文本,控件,消息框,窗口,图像/像素搜索,循环和标签命令,以及变量和功能。 导出宏时,您可以设置其名称,触发脚本的热键,设置循环数,甚至选择阻止鼠标光标,以便宏运行而不会中断。 有了以上要考虑的内容以及关于 Pulover Macro Creator 的更多发现,可以肯定地说这确实是一种可靠且实用的自动化工
Pulover Macro Creator 中文版是基于 AutoHotkey 的轻量级应用程序,可为您提供实用的自动化工具和脚本生成器。它显示了一个全面的界面,可让您记录鼠标的移动,键盘手势,管理窗口,文件,控件以及创建 If/Else 语句。为了使该应用程序直观易懂并使其有效,该应用程序的所有主要特征和功能都在顶部工具栏中保持了大量可用。 开源免费宏自动化工具 Pulover's Macro Creator 中文版开源免费宏自动化工具 Pulover’s Macro Creator 中文版 特色亮点 Pulover Macro Creator 可以自动完成操作,从简单的鼠标单击到具有循环和条件的复杂宏。内置的记录器是一种方便的工具,可轻松创建精确的宏。 滑鼠与键盘 发送击键,键盘命令,移动并单击。 控制指令 在后台控制窗口。设置并从窗口的控件中获取信息。 窗口命令 等待窗口存在或处于活动状态。移动,调整大小,最大化,最小化和设置各种窗口设置。 图像和像素搜索 在屏幕上搜索图像或像素。制作屏幕截图并定义要采取的措施。 循环 简单和高级循环。遍历文件和文件夹,文本文件和对象。 如果陈述 控制宏设置条件的流程。 变量与函数 定义和修改变量和对象。使用字符串,数字和变量。创建数组。 Internet Explorer 和常规 COM 对象 IE 的简化界面,并支持自动热键表达式,从而可以控制 Excel 和 Word 等应用程序。 用户定义的功能 使用要在宏中使用的输入和输出值定义自己的函数。 使用 Pulover Macro Creator,您可以制作脚本,然后将其设置为自动执行各种繁琐的任务,这些任务只会消耗您一天的时间并降低生产力。无论您是需要插入自定义代码的程序员,还是开发人员测试应用程序功能并做出响应的开发人员,都可以轻松地为您提供帮助。 无需使用任何程序设计知识即可使用 Pulover Macro Creator,因为该应用程序设计为易于使用。如果您对宏是什么以及如何使用宏有基本的了解,那么只需单击记录按钮并导出项目就可以满足您的需要。 这并不意味着该应用程序仅限于基本脚本。使用Pulover的Macro Creator,您可以在一个脚本下加入不同的宏,然后从预览窗口中将代码复制到所需的任何位置。它提供文本,控件,消息框,窗口,图像/像素搜索,循环和标签命令,以及变量和功能。 导出宏时,您可以设置其名称,触发脚本的热键,设置循环数,甚至选择阻止鼠标光标,以便宏运行而不会中断。 有了以上要考虑的内容以及关于 Pulover Macro Creator 的更多发现,可以肯定地说这确实是一种可靠且实用的自动化工具。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧