Exce如何通过VBAexcel vba 编写小程序自定义函数来实现自带函数的组合,比如极差函数=max-min

Excel使用MIN函数计算满足条件的最小值
在Excel中,如果要计算满足条件的最小值,可以使用MIN函数计算满足条件的最小值。Excel2007可使用MIN函数计算满足条件的最小值。
如上图所示,在C8单元格输入公式:
=MIN(IF(B2:B5&=60,C2:C5))
按&Ctrl+Shift+回车&组合键输入数组公式即可计算满足条件的最小值。返回语文成绩及格数学的最低分。
Excel2007可使用MIN函数计算满足条件的最小值。
相关说明:
MIN函数语法:MIN(number1,number2,...)
number1, number2, ...:是要从中找出最小值的 1 到 255 个数字参数。
参数可以是数字或者是包含数字的名称、数组或引用。逻辑值和直接键入到参数列表中代表数字的文本被计算在内。
如果参数为数组或引用,则只使用该数组或引用中的数字。数组或引用中的空白单元格、逻辑值或文本将被忽略。
如果参数不包含数字,函数 MIN 返回 0(零)。
如果参数为错误值或为不能转换为数字的文本,将会导致错误。
如果要使计算包括引用中的逻辑值和代表数字的文本,请使用 MINA 函数。
MIN函数返回一组数值中的最小值
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------常用EXCEL的VBA函数精选-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
常用EXCEL的VBA函数精选
来源:用户
发表时间: 14:29:34 责任编辑:鲁晓倩字体:
常用EXCEL的VBA函数精选(图1)EXCEL中函数与vba运用时有什么不同(vba中,初学 请教Sub开始的是一个子过程,Function开始的是一个函数过程。每个Sub都要以End Sub结束,每个Function也都要以End Function结束。 VBA中这两种都有使用。共同点就是,都是用来完成某种特殊功能的一组程序代码。区别是,函数是带有返回值的特殊过程,。常用EXCEL的VBA函数精选(图2)关于vba createobject(“scripting.dictionary”)所,关于vba createobject(“scripting.dictionary”)所有的详解最好附上例题前言 凡是上过学校的人都使用过字典,从新华字典、成语词典,到英汉字典以及各种各样数不胜数的专业字典,字典是上学必备的、经常查阅的工具书。有了它们,我们可以很方便的通过查找某个关键字,进而查到这个关键字的种种解释,非常快捷实用。 。常用EXCEL的VBA函数精选(图3)请教一个关于excel中vba函数使用的问题,在excel中的vba里定义的函数如何使用1、在excel中的vba里使用内置vba函数的使用方法:调用Application对象的WorksheetFunction属性。 示例: 本示例对单元格区域 A1:A10 使用 Min 工作表函数,并显示结果。 Set myRange = Worksheets("Sheet1").Range("A1:C10") answer = Applicati。[防抓取:本信息来自 学网 ]
Excel300VBAApplication.WorksheetFunction.Sum(arg1,arg2,arg3)
常用EXCEL的VBA函数精选(图4)excel2007如何用vba编写函数,在excel中的vba里定义的函数如何使用 在选项对话框中勾寻显示开发工具”,看图就是了。 然后在开发工具面板中就可以 打开vba。 在vba中添加一个普通模块,在模块里编写函数。 比如: function MaxValue(a as integer,b as integer) as integer MaxValue=iif(a&b,a,b) end function 这。常用EXCEL的VBA函数精选(图5)求EXCEL VBA instr函数的详细用法,如题,求示例,谢谢。Instr函数 一、题目: 要求编写一段代码,运用Instr函数,在一字符串中查找另一字符串并返回结果。 二、代码: Sub 示例_1_18() Dim bssString, yczChar, wz bssString ="ABpAApCDPBBP" yczChar = "P" MsgBox "bssString = "" ABpAApCDPBBP """ 。[防抓取:本信息来自 学网1 ]VBA40VBA
常用EXCEL的VBA函数精选(图6)用Excel中的VBA编写函数,函数参数如何引用Excel中,举个简单的例子: Function XXX(ST As String) As String XXX = Actives你要想简便的话,简单的点点,不想用手输入那么麻烦,可以这样: Function XXX(ST As Range) As String XXX = ST.Text End Function 这样便可在Excel中引用"=XXX(A3)"。常用EXCEL的VBA函数精选(图7)求两个时间的时间差怎么用excel函数解决。。。在线,就是这样的函数。是什么意思;怎么能实现、求大师解释你是不是想在VBA中实现这个目的? 定义两个时间函数,直接想减即可得到两个时间之间相差的秒数,把这个数据格式化为 HH:MM格式即可,例如 Times3=format(times2-times1,"hh:mm")。常用EXCEL的VBA函数精选(图8)Excel 在VBA中怎么使用search函数,就是这样的函数。是什么意思;怎么能实现、求大师解释Sub iTest() Dim n, m 'Range("B1"),"a" 'Range("A1"),"dcbabcd" '引用工作表函数,Search() n= Application.WorksheetFunction.Search(Range("B1"),Range("A1")) 'VBA中有自己的搜索函数,instr() m= InStr(1, Range("A1"), Range("B1")) MsgBo。[防抓取:本信息来自 学网2 ]&
如何在excel vba中引用xll中的函数?,这个得看xll中的函数是如何注册的,大部分情况下可以直接使用,类似工作表函数在公式里面一样。会部分Excel函数与VBA,使用水平中上,在北京做数据分析岗工资能开到多少K?,就会这点东西能找到数据分析的好工作? 有点天真了 文科生会这个的都一大把。excel vba中编写自定义函数进行蒙特卡洛模拟太慢了,有什么方法代替vba?,可以用python+pywin32。VBA宏运行速度为什么比Excel自带函数慢?,你想多了,你还没有掌握好的vba写法,一般入门的教材教给你的很多都是效率很低的写法.你的函数最大的问题在于用了cell,这个很费时间的.最佳实践应该是把输入数据一次性读入到一个大数组里,所有cell都变成读数组,最后一次性输出.示范代码:dim d,od=range(""…显示全部。如何使用VBA自定义函数实现Excel 365 新版函数的效果?,试试使用可选参数 可选参数 (Visual Basic)。EXCEL为什么一些函数在VBA中用不了了?,因为int() 和 trunc() 不是worksheetfunction object 的成员.worksheetfunction members (excel)在vba里面可以直接通过 i = int(2.5) 把2.5的整数部分赋给 i .trunc() 不支持的原因没有查到,不过你可以试一下fix().。会在Excel中熟练编写VBA或者是熟练应用Excel中的各种函数、功能是怎样的一种体验?,跳槽进入快消业,业务比较单一简单,但是量十分巨大.然后,我一个月摸索熟悉了一下业务,花了几天写了几个宏.原本一个团队10个人,每个人大概要花1-2小时,甚至半天做得帐.我写的宏可以直接10分钟内完成.。Excel中使用VBA的Autofill函数怎么样才能自动填充到相邻一列最大非空单元格所在行?,range.end(xlup).row。Excel的vba子过程或函数未定义是什么情况?,有拼写错误,是msgbox,不是magbox。[防抓取:本信息来自 学网4 ]
相关信息 [
相关文章:
<a href="/cse/search?q=<inputclass="s-btn"type="submit"text="<inputclass="s-btn"type="submit"text="<buttonhidefocusclass="s-btnjs-ask-btn"text="我要提问
<a href="/cse/search?q=如题,不回答软件安装、运行错误、加解密等方面问题,不要跟水帖,谢谢合作:)
楼主发言:1次 发图:0张 | 更多
  能否告诉我那里有一些vba的教材,电子书之类的下载,谢谢了
  /other/vbalang.rar  超星格式的,忘了原来从哪里下载的了,现在正在上传,如果下载不了,请稍候再试
  不好意思,现在网速慢,我的leapftp老是掉,文件又有点大(相对我的破带宽来说),明天早上再试吧,  在同一目录下还会有一个excel2000vba.rar,是pdf格式的
  问题:一个用别的方式记录下来的数据文件,怎样指定数据中的行和列,导入到EXCEL中。如一个*.dat文件,可用文本方式打开,每行依次记录:时间、倍率、数据等,如何导入至指定的EXECL的SHEET中,并要求,SHEET中的A列中只导入指定的时间列(如原记录是每1s一个,但我只取每5分钟一个),并在C列中导入相应时间的数据为倍率乘数据。  以前我曾见有人做过,但没有看明白,也已没印象了。
  to: qiujianp  把文本文件导入到Excel中,用一个fileSystemObject和一个textStreamObject就行了,如下:  Set fs = CreateObject(&Scripting.FileSystemObject&)  Set f = fs.OpenTextFile(TextBox2, 1)
‘TextBox2是一个文本框,里面存放着文本文件路径。  然后用do while not f.AtEndOfStream构成一个循环结合textStreamObject的readline方法逐行读取记录  再用split方法把记录中的各字段分开    至于你说的“指定的时间”我有点没太明白,不过请你先看一下这个样本是否符合要求吧:  /other/readtxt.rar  (那个Excel文件中运用了宏,打开时要先把安全级设为中,否则宏将不能正常运行:)
  没人来,自己顶一下-_-!
  趁着有高手俺要赶紧请教  如何整列求积啊,偶找了函数好象没有,然后直接打&*&也不行,只能求教大侠了,对这个软件实在是盲人水平啊  谢谢
  用函数生成的数据,是否可以转化为数字,直接整行,或整列复制到其他地方使用?
  樓主沒有在了,幫他頂下
  我也有问题,有一列数据比如序号为1、2、3、4……100  现在我想求1+2的和、3+4的和、5+6的和……  有简便的方法吗  我没办法,只好一项一项的加,真是累啊  我想一定有好办法的,比如函数什么的  求解
  我的工作中需要计算成本,但不会用减法和除法,请教。      leoboy:比如你的数据库中数列有A、B、C、D等,行假设从第2行起(第一行一般是名称,数量,单价等)。如果你要计算C列值(C=A*B),把鼠标点到C2,输入=A2*B2 回车,然后拖动鼠标就可以得到整列的积了。
  to:烟儿漂漂  一切搞定,俺对你的感情之情真是有如滔滔江水,连绵不绝啊  嘿嘿,多谢了  以后有网络方面的问题可以问俺,不管知不知道,有问必答.上刀山下火海,.....那就免了吧..
  To leoboy: 你你你好客气,俺现在就有一个问题要问呢,你用过IMU不?觉得怎样啊?
  CASHFIESTA网络赚钱不是梦!!!!!    一.美国Cashfiesta    首先提醒大家一句,使用美国Cashfiesta赚钱,不需要太多的英语知识(有高中\中专英语就行),因为有大家的帮助,开始会困难,慢慢就习惯了!不过如果你的英文水平只有初中水平,那还是不要参加了!免得浪费时间!    一边下载,玩游戏,一边赚钱!每小时高达 8.4 元,多么遐意!     亲爱的下线:您好! 如何在网上每月赚50美金?请看......     $$$先声明:免费赚钱是不可能的,但是轻松赚钱是有可能的,以下是给那些有经济头脑、$$$    $$$有耐性、喜欢上网的人看的,不相信网络能赚钱的人就不必看了以免耽误您宝贵的时间$$$    $$$适用人群:有经济头脑、有耐性、喜欢上网,使用包月包年能长时间上网的人$$$    每月再赚400美金不是梦!      详细资料请登陆:http://2169.net/zukai/cashfiesta.htm
  B4楼上的,叉出去毙了!  广告,又见广告!!!!!
  to:烟儿漂漂  那玩意用了一会儿,感觉即时通讯软件大同小异,有一个用就可以了,偶觉得QQ最近还凑合,所以还没有抛弃的打算。
  To: leoboy  
  作者:leoboy 回复日期: 12:24:49 
    趁着有高手俺要赶紧请教    如何整列求积啊,偶找了函数好象没有,然后直接打&*&也不行,只能求教大侠了,对这个软件实在是盲人水平啊    谢谢  =========小fisher回复=============  这个问题烟儿飘飘已经回答了,谢谢烟儿 :)       作者:指尖上的烟灰 回复日期: 13:12:47 
    用函数生成的数据,是否可以转化为数字,直接整行,或整列复制到其他地方使用?  ============小fisher回复=============  用函数生成的数据,如果复制到其他程序中,粘贴出来的会是数字。如果要复制到excel的其他位置或在当前位置转化为数字,可以选中数据区域,选复制,然后到目标区域点右键,选“选择性粘贴”,然后再选“数值(V)”这一项。      作者:春之梦 回复日期: 13:38:08 
    樓主沒有在了,幫他頂下  =============小fisher:===================  Thanks a lot:)       作者:墙角的裂缝 回复日期: 14:19:27 
    我也有问题,有一列数据比如序号为1、2、3、4……100    现在我想求1+2的和、3+4的和、5+6的和……    有简便的方法吗    我没办法,只好一项一项的加,真是累啊    我想一定有好办法的,比如函数什么的    求解  ===================  假设这些数据在单元格A1:A100内,然后要在B列的B1:B50得出结果,可以在B1中输入:  =SUM(INDIRECT(&a& & ROW()*2-1 & &:a& & ROW()*2))    作者:烟儿漂漂 回复日期: 14:46:57 
    我的工作中需要计算成本,但不会用减法和除法,请教。    leoboy:比如你的数据库中数列有A、B、C、D等,行假设从第2行起(第一行一般是名称,数量,单价等)。如果你要计算C列值(C=A*B),把鼠标点到C2,输入=A2*B2 回车,然后拖动鼠标就可以得到整列的积了。  ========小fisher不算回复的回复==========  不好意思,有点不明白,请说明得再具体一点或者给个实例    如有纰漏,请大家不吝赐教
  作者:墙角的裂缝 回复日期: 14:19:27        我也有问题,有一列数据比如序号为1、2、3、4……100      现在我想求1+2的和、3+4的和、5+6的和……      有简便的方法吗      我没办法,只好一项一项的加,真是累啊      我想一定有好办法的,比如函数什么的      求解    =======小fisher回复============    假设这些数据在单元格A1:A100内,然后要在B列的B1:B50得出结果,可以在B1中输入:    =SUM(INDIRECT(&a& & ROW()*2-1 & &:a& & ROW()*2))  然后向下填充至b50就可以了(对不起,刚才把这句吃掉了-_-!)
  谢谢小fisher。    我我我其实是在WORD里不会用除法和减法啦,真的晕~~~~~~~    不过在这里我也学到很多东西呢。  我会继续关注。
  假设这些数据在单元格A1:A100内,然后要在B列的B1:B50得出结果,可以在B1中输入:      =SUM(INDIRECT(&a& & ROW()*2-1 & &:a& & ROW()*2))    然后向下填充至b50就可以了(对不起,刚才把这句吃掉了-_-!)    如果C6中输入上述公式,就只能得到19,23,27三个数  如果C2中输入上述公式,就能得到正确结果,但看的特别不习惯。  请告诉我错了在哪儿,谢谢!
  作者:烟儿漂漂 回复日期: 10:40:02 
    谢谢小fisher。        我我我其实是在WORD里不会用除法和减法啦,真的晕~~~~~~~        不过在这里我也学到很多东西呢。    我会继续关注。  =====小fisher回复=====  word的工作表中也可以运行多种运算的,方法是在目标单元格中,点“插入”菜单下的“域”,然后会弹出一个窗口,单击下面的“域代码”,然后在右边“域代码”中输入公式就可以了。如(=a1/b1,sum(above),min(a1:b4)等)。  *****  在 = (Formula) 域中,可以使用数值与下列数学和关系运算符的任意组合:  + 加 ,–减 ,* 乘 ,/ 除 ,% 百分比 ,^ 乘方和开方 ,= 等于 ,& 小于 ,& =小于等于 ,& 大于 ,& =大于等于 ,& &不等于    =(Formula) 域可使用以下函数返回的值。下列函数可接受对表格单元的引用作为参数:AVERAGE()、COUNT()、MAX()、MIN()、PRODUCT() 和 SUM()。  ABS(x),AND(x,y),AVERAGE( ) ,COUNT( ) ,DEFINED(x) ,FALSE ,INT(x) ,MIN( ) ,MAX( ) ,MOD(x,y) ,NOT(x) ,OR(x,y) ,PRODUCT( ) ,ROUND(x,y) ,SIGN(x) ,SUM( ) ,TRUE     在表格中执行计算时,可用 A1、A2、B1、B2 的形式引用表格单元格,其中字母表示列,数字表示行。与 Microsoft Excel 不同,Microsoft Word 对“单元格”的引用始终是绝对引用,并且不显示美元符号。例如,在 Word 中引用 A1 单元格与在 Excel 中引用 $A$1 单元格相同。    以上内容中***后的可以从word帮助文档中通过搜索“表格 运算”找到。  
  作者:烟儿漂漂 回复日期: 14:12:11 
    假设这些数据在单元格A1:A100内,然后要在B列的B1:B50得出结果,可以在B1中输入:        =SUM(INDIRECT(&a& & ROW()*2-1 & &:a& & ROW()*2))      然后向下填充至b50就可以了(对不起,刚才把这句吃掉了-_-!)        如果C6中输入上述公式,就只能得到19,23,27三个数    如果C2中输入上述公式,就能得到正确结果,但看的特别不习惯。    请告诉我错了在哪儿,谢谢!  ==========小fisher回复=========  不是你错在哪儿的问题,是我考虑不周:),应该改为这样:  =SUM(INDIRECT(&a& & ROW(A1)*2-1 & &:a& & ROW(A1)*2))  row()函数中如果不带参数,则返回单元格本身的行数;如果带参数(参数必须是单元格引用,如a3,$b$5等),则返回参数的行数,如row(a2)返回的是单元格a2所在的行数:2。    其他函数可以从excel的帮助文件中找到,这里不多说了。:)
  非常感谢楼主的热心、耐心。  在处理数据方面,WORD比EXCEL差很多吧?如果我问很多问题的话,有点跑题了。西西
  原来excel这么高深啊  佩服!  烟儿漂漂有的学哦,偶还是算了吧,晕!
  再问小fisher一个比较复杂的问题。我现在用的是OFFICE 2002版本。    用EXCEL和WORD 可以建立连接,即在WORD中&工具—信函与邮件—邮件合并向导&中实现。现以WORD 生成一模板文件;把EXCEL文件作为数据源,每列作为一个字段,每行都代表一条数据信息,每条数据信息都生成一个WORD文件(在同一个文档中以数据顺序排列),每个数据点都在相应的WORD文档中显示。    WORD文档是以前有人做的,但没有数据源,经过摸索,我重新建了一个数据库与其连接,基本都成功。    但有一个位置出现了问题,原来文档中有一个位置有四个选项,e.g.: af
每项前面都有一个小方块,用鼠标点选可以出现一个对号。好像运用了VBA或宏之类的东东。在EXCEL数据库中我已经设置了该项字段,现在我想如果EXCEL字段中的数据为这四个选项中的任意一个时自动在其前面的小方块内出现对号。对EXCEL我基本上了解一些函数,但对于VBA和宏小弟一窍不通。请问如何能够实现?最好不要太复杂。多谢了:)    
  收藏    以后大家一起交流啊,三人行,必有我师
  to: 冷治平  你这个文档中是通过邮件合并域的数据源把excel中的记录读取出来的,我研究了几个小时,没找到通过这种途径控制复选框的方法(汗一个-_-!),用VBA自己做了一个,不知道这样能不能达到你的要求。请下载:  /other/lcl.zip    现在这种方法还有两个缺陷,一是速度慢,在我的电脑上处理15条记录要30-40秒,二是如果中断宏运行,会在进程中会留下一个excel的进程,因为是隐藏的,只能手工从任务管理器中结束。
  试试这个:  把复选框改为“■□”了,快了许多,不知道是否还符合你的要求了  Dim fsource As String  Sub Macro1()  Dim fd As FileDialog    
Set fd = Application.FileDialog(msoFileDialogFilePicker)  
fd.Filters.Add &Excel工作表&, &*.xls&  
fd.Show  
If fd.SelectedItems.Count & 0 Then  
fsource = fd.SelectedItems(1)  
Exit Sub  
End If    
ThisDocument.MailMerge.OpenDataSource Name:=fsource, _  
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _  
AddToRecentFiles:=False, PasswordDocument:=&&, PasswordTemplate:=&&, _  
WritePasswordDocument:=&&, WritePasswordTemplate:=&&, Revert:=False, _  
Format:=wdOpenFormatAuto, Connection:= _  
&Provider=Microsoft.Jet.OLEDB.4.0;Password=&&&&;User ID=AData Source=& & fsource & &;Mode=RExtended Properties=&&HDR=YES;IMEX=1;&&;Jet OLEDB:System database=&&&&;Jet OLEDB:Registry Path=&&&&;Jet OLEDB:Database Pass& _  
, SQLStatement:=&SELECT * FROM `dept$`&, SQLStatement1:=&&, SubType:= _  
wdMergeSubTypeAccess    
ThisDocument.MailMerge.MainDocumentType = wdDirectory  
Selection.WholeStory  
Selection.Delete Unit:=wdCharacter, Count:=1  
With Selection  
.TypeText &Profession(职业): &  
.Font.Underline = wdUnderlineDashLong  
.TypeText &
ThisDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:=&&&Profession&&&  
.TypeText &
.& & Chr(13)  
.Font.Underline = wdUnderlineNone  
End With  
With Selection  
.TypeText &Height(身高): &  
.Font.Underline = wdUnderlineDashLong  
.TypeText &
ThisDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:=&&&Height&&&  
.TypeText &
.& & Chr(13)  
.Font.Underline = wdUnderlineNone  
End With  
With Selection  
.TypeText &体重(Weight): &  
.Font.Underline = wdUnderlineDashLong  
.TypeText &
ThisDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:=&&&Weight&&&  
.TypeText &
.& & Chr(13)  
.Font.Underline = wdUnderlineNone  
End With  
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Married&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Married
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Celibate&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Celibate
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Divorced&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Divorced
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Widowed&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Widowed
& & Chr(13)  
Selection.InlineShapes.AddHorizontalLineStandard Selection.Range    
With ThisDocument.MailMerge  
.Destination = wdSendToNewDocument  
.SuppressBlankLines = True  
With .DataSource  
.FirstRecord = wdDefaultFirstRecord  
.LastRecord = wdDefaultLastRecord  
End With  
.Execute Pause:=False  
End With  End SubDim fsource As String  Sub Macro1()  Dim fd As FileDialog    
Set fd = Application.FileDialog(msoFileDialogFilePicker)  
fd.Filters.Add &Excel工作表&, &*.xls&  
fd.Show  
If fd.SelectedItems.Count & 0 Then  
fsource = fd.SelectedItems(1)  
Exit Sub  
End If    
ThisDocument.MailMerge.OpenDataSource Name:=fsource, _  
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _  
AddToRecentFiles:=False, PasswordDocument:=&&, PasswordTemplate:=&&, _  
WritePasswordDocument:=&&, WritePasswordTemplate:=&&, Revert:=False, _  
Format:=wdOpenFormatAuto, Connection:= _  
&Provider=Microsoft.Jet.OLEDB.4.0;Password=&&&&;User ID=AData Source=& & fsource & &;Mode=RExtended Properties=&&HDR=YES;IMEX=1;&&;Jet OLEDB:System database=&&&&;Jet OLEDB:Registry Path=&&&&;Jet OLEDB:Database Pass& _  
, SQLStatement:=&SELECT * FROM `dept$`&, SQLStatement1:=&&, SubType:= _  
wdMergeSubTypeAccess    
ThisDocument.MailMerge.MainDocumentType = wdDirectory  
Selection.WholeStory  
Selection.Delete Unit:=wdCharacter, Count:=1  
With Selection  
.TypeText &Profession(职业): &  
.Font.Underline = wdUnderlineDashLong  
.TypeText &
ThisDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:=&&&Profession&&&  
.TypeText &
.& & Chr(13)  
.Font.Underline = wdUnderlineNone  
End With  
With Selection  
.TypeText &Height(身高): &  
.Font.Underline = wdUnderlineDashLong  
.TypeText &
ThisDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:=&&&Height&&&  
.TypeText &
.& & Chr(13)  
.Font.Underline = wdUnderlineNone  
End With  
With Selection  
.TypeText &体重(Weight): &  
.Font.Underline = wdUnderlineDashLong  
.TypeText &
ThisDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:=&&&Weight&&&  
.TypeText &
.& & Chr(13)  
.Font.Underline = wdUnderlineNone  
End With  
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Married&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Married
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Celibate&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Celibate
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Divorced&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Divorced
ThisDocument.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _  
&Family_situation&, Comparison:=wdMergeIfEqual, CompareTo:=&Widowed&, TrueText:=&■&, FalseText:=&□&  
Selection.TypeText &Widowed
& & Chr(13)  
Selection.InlineShapes.AddHorizontalLineStandard Selection.Range    
With ThisDocument.MailMerge  
.Destination = wdSendToNewDocument  
.SuppressBlankLines = True  
With .DataSource  
.FirstRecord = wdDefaultFirstRecord  
.LastRecord = wdDefaultLastRecord  
End With  
.Execute Pause:=False  
End With  End Sub  这里是示例文件:  /other/lcl1.doc  打开后运行宏“aa”即可
  对不起,发完帖才发现我的空间上不能用ftp上传word文档,示例文件如下:  /other/lcl1.zip
  多谢小侠了:)辛苦了!!!
  ^●_●^ 看呆了……         鼎!
  在Excel中,用四列来分别表示“千、百、十、个”。这样在进行“求和”时,如何令其满十即自动向前一列进位呢?
  我也有一个问题,涉及到医药费报销:  分三段:1、乡镇卫生院起付线300元,县级医院起付线800元,县外医院起付线1200元,同时分段报销,5000元以下30%,要扣除起付线,以上10000元以下40%,1元以上50%。比如我在乡镇卫生院看了11000,能报销  (.3++=3910元  另外县外医院还要*0.9要求输入医药费总额就能自动得出实报金额。如图。不要太复杂。多谢。  
  不好意思,乡镇卫生院的数据写错了,应分别为810,。
  老大到哪,俺到哪……
  这么好的Excel解决问题帖居然会沉!!!愤慨!!    斑竹出来飘红一下啦
  看来这个问题有点难度?  
  To: 读过小学  对不起,让你久等了,因为本帖很久没有回复,所以近来有些怠慢,望海涵:)  问题已经解决,请下载观看:/excel/inst1.xls  解决步骤在下面帖子里有详细说明:  /new/publicforum/Content.asp?idWriter=0&Key=0&strItem=it&idArticle=244887&flag=1
  多谢,学习中。
  不客气,这次我在了,哈哈
  hehe 不错,
做个记号 不会的时候来麻烦你阿~~~~~~~
  需要对一些试验数据进行拟合,然后,对拟合曲线进行积分,用EXCEL的数据处理功能能实现么?如果能,怎么实现?谢谢!!!
  To: soul_kelvin  很不好意思,对你的问题不能给出全面详细的回答。  对试验数据进行拟合,可以先把数据放到散点图的图表中,再添加趋势线,根据点的形状选择“趋势预测/回归分析类型”及“阶数”,再在趋势线格式的对话框“选项”下勾上“显示函数”和“显示R平方值”,效果如下图。其中R平方值越接近1,说明公式与数据拟合得越好。(暂时没找到在VBA中引用R平方值的方法,所以只能手动调节了)。  对函数进行定积分的例子我原来见过一个,主要思路是把积分区间分成细长的梯形,然后把梯形面积相加。
  我只有一个问题,那就是有什么地方能买到关于EXCEL运用方面的书?谢了。
      作者:深海孤鱼 回复日期: 4:13:33 
    我只有一个问题,那就是有什么地方能买到关于EXCEL运用方面的书?谢了。  ----------  买书当然上书店,但有问题还是问小fisher好一点,书上讲应用的很少。
  自己顶一下    由于问题难易度和提问者水平有别,同时本人对于excel的理解和把握也有限,所以我的回答有时可能过于罗嗦,有时可能过于笼统    希望提问者能回来反馈。。。谢谢
  我终于找到高手了啊。。  请问  1、如何打开excel后能自动打开某一个文件。  
在桌面打开excel,能自动打开文件aaa  2、在excel中如何使用时间变量。  
比如在某一单元格,我希望能在每天的1:00 采集一下数据(通过dde数据交换) 还有就是 年,月,日
怎么能和数据采集频率挂钩?不知道我说得明白不。。。例子:有一组单元格,我希望记录  日1:00~~ 日24:00 整点数据(dde) 当到日1;00 后重新回到第一个单元格开始记录,原来的数据全部删除。    非常感谢。
  作者:雨田_卡夫卡 回复日期: 21:32:43   请问  1、如何打开excel后能自动打开某一个文件。  在桌面打开excel,能自动打开文件aaa  ============  一)从桌面或开始菜单进入excel,按alt+F11进入Visual Basic编辑器  二)在左面的“工程列表”中双击ThisWorkBook,将下列代码复制进去:  Private Sub Workbook_Open()  Workbooks.Open &c:\aaa.xls& ‘注:把这里的路径替换为aaa文档的实际路径  End Sub  三)保存文档,保存时“保存类型”一项选“Microsoft Office Excel加载宏(*.xla),文件名任取(如autoOpen.xla)  四)在“工具>加载宏”列表中选上刚才制做的加载宏(这里是“autoOpen”。  以后每次进入excel都会直接打开aaa.xls了
  2、在excel中如何使用时间变量。     比如在某一单元格,我希望能在每天的1:00 采集一下数据(通过dde数据交换) 还有就是 年,月,日 怎么能和数据采集频率挂钩?不知道我说得明白不。。。例子:有一组单元格,我希望记录    日1:00~~ 日24:00 整点数据(dde) 当到日1;00 后重新回到第一个单元格开始记录,原来的数据全部删除。  ==============  这个可以用application.ontime方法实现,这个方法可以在指定的时间运行指定的程序。假设从DDE中获取数据的函数为proc1()。  整个过程的代码应该为:  for i=0 to 23  Application.OnTime Now + TimeValue(&00:00&), &writeData&  next  sub writeData()  sheets(1).cells(hour(now())+1,1)=proc1()  end sub  以上代码没有通过实例检验,请“雨田_卡夫卡”自己调试吧:)    关于ontime方法的详细说明,请查看excel的帮助文件。
  Application.OnTime Now + TimeValue(&00:00&), &writeData&  对不起,这句写错了,应该是:  Application.OnTime i + TimeValue(&00:00&), &writeData&
  汗,又错-_-!,改成:  Application.OnTime Now & TimeValue(&:00:00&), &writeData&
  请问斑竹:excel里的文本合并能否插入空格阿,例如a和b单元格要合并,但合并后的单元格必须是a
b,即在a和b之中插入空格!  十分感激!
  作者:特立独行的行者 回复日期: 23:35:15 
    请问斑竹:excel里的文本合并能否插入空格阿,例如a和b单元格要合并,但合并后的单元格必须是a b,即在a和b之中插入空格!    十分感激!  ======  我不是斑竹啦,人称我为楼竹:)  如果仅是合并文本,并且把合并后的文本显示到另一个单元格中,可以在目标单元格中输入:=CONCATENATE(A1, & &, B1)  如果是要合并单元格,并且在合并后显示所有被合并单元格的内容并用空格隔开,就需要用宏了,代码如下:  Sub Merge()  strTemp = &&  Dim rng As Range  For Each cell In Selection  strTemp = strTemp & Space(1) & cell  Next  Application.DisplayAlerts = False  Selection.Merge  Application.DisplayAlerts = True  Selection = Trim(strTemp)  End Sub  如果经常要用到,可以从“工具>自定义>命令>类别>宏”的右侧列表中找到“自定义按钮”放到工具栏上,然后在按钮上点右键,为按钮指定宏为“Merge”。如果要在多个表格中用到,还可以另存为加载宏,制作加载宏的具体步骤在上面的帖子中提到过。
  Dear 小Fisher(你以前学德语的?:),你在两楼共享的vbalang.rar,excel2000vba.rar我好像没法当,能不能再传一次?如果有类似Excel公式说明的书也共享一下吧:)我的Excel每次打开帮助都要老半天。以后有Excel方面的问题少不得请教:)
  回:右减暗寇  我以前学英语的,德语当二外学过两年,现在全忘了。。。-_-!  二楼的资料是从下面地址下载的,你有空去那里找找吧,或许还能找到你需要的其他资料:  http://www.officefans.net/cdb/forumdisplay.php?fid=3  以后欢迎指教
  非常感谢啊。原来都不知道从什么地方下手。现在总算有个目标了。  给你评个9分。  第一个问题很满意,关于自动打开表格的。  第二个问题,我要调试看看,  谢谢了。说句实话,我基本从来没有用过宏,excel我能做个表格就不错了。呵呵。。。。
  感谢楼竹^_^
又学了一招,我后来是在记事本里用替换单元格来实现插入空格的,没学过宏,只好用这笨招!^_^多谢了!
  再顶一下下-_-!
  vba 用好了也是博大精深  
  小鱼,我看了你用=SUM(INDIRECT(&a& & ROW(A1)*2-1 & &:a& & ROW(A1)*2))解100列数两两相加的问题,又查了一下Indirect函数的用法,有个问题我不明白:  以第一行为例,上面的公式到最后第三步会变成:=SUM(INDIRECT(&a1:a2&)),最后第二步变成=SUM($A$1:$A$2)。可是如果我把=Indirect(&a1:a2&)单独复制到另外一个单元格中,得到的数字是1(这个和帮助里的说明是吻合的)。    所以我就不明白最后第二步的($A$1:$A$2)是哪里来的?INDIRECT函数不应该通过给出的字符串返回一个“数值”吗(数值应该是1,而不是$A$1:$A$2呀?)。难道SUM中嵌套INDIRECT会变成类似于四则运算的结果:    像  =sum(indirect(&a1:a2&))
  就等于(a1和a2中的冒号相当于四则运算中的加号?)  =sum(indirect(&a1&):indirect(&a2&))  ???    想晕了~~~    
  回楼上:  a1:a2表示从单元格a1到单元格a2之间的矩形区域,其中的冒号是用来分开两个单元格引用的,sum(a1:a2)是求a1:a2单元格区域的和  而=Indirect(&a1:a2&),其实与=a1:a2等效,在目标单元格中显示a1:a2单元格区域中第一个单元格的内容,即a1的内容。    另外:  =sum(a1:b2)是求a1到b2之间的矩形区域(其中包含4个单元格:a1,a2,b1,b2)的和;如果把冒号换成逗号,=sum(a1,b2),则是求a1和b2两个单元格的和。    indirect返回的是对单元格的引用,sum才是求和的函数。
  小鱼(抱歉上头这个问题实在有些弱智,希望没害你吐血吧…),  我想明白了,(A1:A2)虽然等于A1的值,但是如果前面加了一个SUM函数,那么SUM就取(A1:A2)作为参数,而不会等到(A1:A2)---&A1---&1以后再计算。Indirect的作用就是把字符型的&A1:A2&转换成对A1至A2区域的引用。
    昨天钻牛角尖了,我想的是:      既然 =Indirect(&a1:a2&)
即 a1的内容 即 1    那么照理说等量代换  
=Sum(Indirect(&a1:a2&)) 就应该是等于 =SUM(a1) 即 =SUM(1)
最后得出结果为1    -_-
抱歉,抱歉    
  比如,我在表1里输入有关于表2的某一个数据,那么在表1里就能显示出这个数据在表2中所在行的所有数据,或者是在表2中所在行的某一数据?能否?
  请问楼主,矢量符号怎么打出来?  关键是上面的箭头,我在公式编辑器中怎么也弄不出.  谢谢!
  作者:不是男就是女 回复日期: 17:04:59 
    比如,我在表1里输入有关于表2的某一个数据,那么在表1里就能显示出这个数据在表2中所在行的所有数据,或者是在表2中所在行的某一数据?能否?  ====================  你说的应该是vlookup函数(前提是表2中某一个数据列要无重复值,否则永远返回第一个符合条件的),详见excel帮助文件:  VLOOKUP  在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。        作者:axk 回复日期: 17:10:39 
    请问楼主,矢量符号怎么打出来?    关键是上面的箭头,我在公式编辑器中怎么也弄不出.    谢谢!  ====================  公式编辑器中有的,点“公式”工具栏第二排第6个按钮就可以看到。
    强烈推荐!!!!!注册广告条不用花一分钱
  赚钱步骤:(真的可以收到钱~!我用我的人格担保~)终有一天你会感谢我  首先祝国庆节快乐,祝中秋节快乐!!!    1,免费注册,注册地址:  /php/join.php?ref=fiestaWuYang (如果不是链接,请复制这个地址到IE地址栏,然后点回车键)进入页面 点击免费加入,即进入注册页面,填好注册页面里,你的信息,即可加入  2、免费下载安装一个68K的cashfiesta.exe广告插件 ,  网址。/php/download.php  3、上网的时候打开并且登陆、输入你的用户名密码,自动获得新闻点.  4、每2分钟一组广告,每小时600点,如果您能一天在线3个 小时,就能拥有1800点,每1000点您就能所得1.666美元。3个小时就可得到2.9988美元,这样您每个月就能拥有89.964美元,折合人民币按 8.2计算=730元(人民币)左右,决不耽误您的上班休息时间    这是美国的新闻运营商.既能补给家用,又能为国家赚些外汇,何乐而不为呢?  基础打好了,往后您的收益值得期待~很固定哦~而您要做的只是每月查看汇款单  支持网站的新闻运营商就行了~简单吧!  大家肯定比较放心.做起来比较塌实.50美元就支付.  支持8层下线,收益提成分别为:15%、7%、5%、5%、5%、3%、3%、1%。  很快就可以做到支付!大家来试试吧!  说不定以后有什么优惠都会给我们先加入的人哦!好机会,别错过啊~~~    请复制这个地址到IE地址栏,然后点回车键进行注册。  /php/join.php?ref=fiestaWuYang    /php/join.php?ref=&#215;&#215;&#215;&#215;&#215;&#215;,推荐好友时,把其中的&#215;&#215;&#215;&#215;&#215;&#215;换成您的用户名,发送给您的好友即可。以后在用这个地址注册就成为你的下线  注册及赚钱技巧请查看下面网址:  .cn/u/      
下线越多收益越多
请遵守言论规则,不得违反国家法律法规回复(Ctrl+Enter)

我要回帖

更多关于 vba min函数 的文章

 

随机推荐