精华内容
下载资源
问答
  • 今天,晓白就给大家介绍如何自己编写Excel函数,从而来解决自己独特的数据处理问题。这里用到的知识就是:通过Excel的VBA编程,定义新的函数!下面,我从一个简单的例子来抛砖引玉。例子:编写一个记分函数score,.....

    原创: Excel and Python

    微 XIN 号: 实用办公编程技能

    对于熟练使用Excel函数的朋友,有时也会因为找不到合适的Excel函数而束手无策,不知道大家有没有这种感受!

    今天,晓白就给大家介绍如何自己编写Excel函数,从而来解决自己独特的数据处理问题。

    这里用到的知识就是:通过Excel的VBA编程,定义新的函数!

    下面,我从一个简单的例子来抛砖引玉。

    例子:

    编写一个记分函数score,实现如下记分功能:对于不同的X值,记对应的Y值分。

    cb5adead68ba49180a121e4fad0b7419.png

    操作:

    第一步:进入VBA编辑界面

    路径:开发工具》VB编辑器

    4e5c8fb4a9f629c78f24fac60ef589dd.png

    第二步:定义函数score

    定义函数语法:

    Function 函数名()

    语句

    End Function

    a877116df38d0b064a5f874be5e223f8.png

    第三步:实现函数score

    实现函数语法:

    If 条件1 Then

    语句

    ElseIf 条件2

    语句

    Else

    语句

    End If

    74080351cc4e4eace4e4275843f1ad83.png

    第四步:调用函数score

    对不同的X取值,调用函数score,得到Y值分

    517122874ffda4662b0d42cc42cf3608.gif

    小伙伴们,是不是很简单!

    以上就是如何自己编写Excel函数并调用方法,希望大家能够举一反三,在实际工作运用自如!

    关注我们的公众号“实用办公编程技能”(微信号:Excel-Python),让我们的工作和生活变更更轻松!

    2bb687b07073a41cdd7f8c85f39ed74a.png
    展开全文
  • 今天,晓白就给大家介绍如何自己编写Excel函数,从而来解决自己独特的数据处理问题。这里用到的知识就是:通过Excel的VBA编程,定义新的函数!下面,我从一个简单的例子来抛砖引玉。例子:编写一个记分函数score,.....

    原创: Excel and Python

    微 XIN 号: 实用办公编程技能

    对于熟练使用Excel函数的朋友,有时也会因为找不到合适的Excel函数而束手无策,不知道大家有没有这种感受!

    今天,晓白就给大家介绍如何自己编写Excel函数,从而来解决自己独特的数据处理问题。

    这里用到的知识就是:通过Excel的VBA编程,定义新的函数!

    下面,我从一个简单的例子来抛砖引玉。

    例子:

    编写一个记分函数score,实现如下记分功能:对于不同的X值,记对应的Y值分。

    f8d09233442355c6307e9e892c71b300.png

    操作:

    第一步:进入VBA编辑界面

    路径:开发工具》VB编辑器

    3352a62ad796210a2ed849048e9f18f8.png

    第二步:定义函数score

    定义函数语法:

    Function 函数名()

    语句

    End Function

    a98095ecb39f771c39bb40e245ce9f1f.png

    第三步:实现函数score

    实现函数语法:

    If 条件1 Then

    语句

    ElseIf 条件2

    语句

    Else

    语句

    End If

    a073eb08a045b8c20c4e8e52082381c0.png

    第四步:调用函数score

    对不同的X取值,调用函数score,得到Y值分

    dfb408d4628cdf946d4df0d4b9030e4e.gif

    小伙伴们,是不是很简单!

    以上就是如何自己编写Excel函数并调用方法,希望大家能够举一反三,在实际工作运用自如!

    关注我们的公众号“实用办公编程技能”(微信号:Excel-Python),让我们的工作和生活变更更轻松!

    13c6d72ceba6ea6faea6d35ca80cbb70.png
    展开全文
  • 在实际的工作中,我们要常常判断某个工作表是否为空的,那么在VBA中是如何能做到这一点呢?VBA中没有专门的属性或函数可以判断工作表是否为空白工作表,可以使用自定义函数返回指定工作表是否为空工作表知识点一:...

    大家好,我们今日继续讲解VBA代码解决方案的第57讲内容:判断工作表是否为空表。在实际的工作中,我们要常常判断某个工作表是否为空的,那么在VBA中是如何能做到这一点呢?

    VBA中没有专门的属性或函数可以判断工作表是否为空白工作表,可以使用自定义函数返回指定工作表是否为空工作表

    知识点一:利用工作表函数CountA统计工作表已使用区域的非空单元格个数:COUNTA函数功能是返回参数列表中非空的单元格个数。利用函数 COUNTA 可以计算单元格区域或数组中包含数据的单元格个数。

    知识点二:我们可以自定义一个函数,利用CountA统计工作表已使用区域的非空单元格个数,如果这个数值为0,那么这个工作表就是空的。

    首先看看我们的自定义函数,如下面的代码所示。

    Function MyIsBlankSht(Sh As Variant) As Boolean

    If TypeName(Sh) = "String" Then Set Sh = Worksheets(Sh)

    If Application.CountA(Sh.UsedRange.Cells) = 0 Then

    MyIsBlankSht = True

    End If

    End Function

    代码解析:

    自定义MyIsBlankSht函数包含一个Variant变量类型的参数,代表工作表名称或者对象名称。如果指定的工作表为空工作表,则该函数返回True。

    第2行代码使用TypeName函数判断参数Sh是否为字符串类型("String"),如果是字符串,则将以该字符串作为名称的工作表赋值给变量Sh。

    第3行代码通过工作表函数CountA统计工作表已使用区域的非空单元格个数,如果统计结果为0,则表示该工作表为空工作表。

    我们看看上述自定义函数在实际中的利用:有了上述的自定义函数,现在就可以像使用VBA函数一样使用自定义的MyIsBlankSht函数,如下面的代码我们要首先判断一下某个工作表是否为空,如果为空,那么删除它。

    Sub MyDelBlankSht()

    Dim Sh As Worksheet

    Application.DisplayAlerts = False

    i = 1

    For Each Sh In ThisWorkbook.Sheets

    If MyIsBlankSht(Sh) Then Sh.Delete: MsgBox "删除" & i & "个工作了": i = i + 1

    Next

    Application.DisplayAlerts = True

    MsgBox "共删除" & i - 1 & "个工作!"

    End Sub代码解析:

    使用自定义的MyIsBlankSht函数删除工作簿中所有空工作表。

    第3行代码将Application对象的DisplayAlerts属性设置为False,使删除时不显示系统警告对话框。

    第5行到第7行代码,使用For Each...Next语句遍历所有工作表,使用自定义的MyIsBlankSht函数判断是否为空表,如果为空表则使用Delete方法删除。

    注意 自定义MyIsBlankSht函数仅仅判断工作表单元格区域内容是否为空,如果工作表中存在其它对象(如图形对象、数据有效性、单元格批注等),不作为判断的基准。

    代码实测:

    代码截图:

    b91fef935b28f69d156a3b50db69640a.png

    运行截图:每删除一个工作表会告诉我们删除的个数。

    ff64a6781332be4b0d16667c54b6857d.png

    最后会告诉我们共删除了几个工作表:

    e2308dc541b13293bbe9ef326aa2742d.png

    今日内容回向:

    1 如何判断工作表为空呢?

    2 如何删除空白的工作表呢?

    展开全文
  • 用 Visuale Basic Express 编写自定义的 Class 并编译成 Dll ...自己编写一个 Class,名字叫 CHTest,只有一个方法 test Public Sub test()  Msgbox ("This a test from VB.NET") End Sub   编译成 Dll 文件并

    用 Visuale Basic Express 编写自定义的 Class 并编译成 Dll 文件很容易,可是如何在 Office VBA 中引用这个Dll文件呢?

    自己编写一个 Class,名字叫 CHTest,只有一个方法 test

    Public Sub test()

      Msgbox ("This a test from VB.NET")

    End Sub

     

    编译成 Dll 文件并且在 VBA 工程中直接引用,得到错误 “Can't add a reference to the specified file”, (无法引用指定的文件)。参考网上的资料,得知不是任何DLL文件都可以在VBA中任意引用,只有符合 COM 规范的才行。如何让自己开发的DLL符合 COM 规范?

     

    回到 VB.NET express, 打开包含 Class Test 的 Project, 再打开这个Project的属性,选定 Application 标签,然后点击 Assembly Information,在 Assembly Information 窗口中,选择 Make assembly COM-Visible,然后再重新编译这个 Class。然后我们到包含这个Project 的文件夹中找到这个 dll 文件并复制到一个合适的位置。假设这个Dll的文件名是 CHTest.dll

     

    接下来就要使用 .NET 提供的 RegAsm.exe 程序来把这个 Dll 注册到注册表中。我的目标运行环境是 .Net 2.0, 所以我们要用 .Net 2.0 的 RegAsm.exe 程序,位置在

    C:\WINNT\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe 或者

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe

    打开命令行提示符窗口,输入命令

    C:\WINNT\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe CHTest.dll /tlb:CHTest.tlb

    然后在与 CHTest.dll相同的文件夹中就会出现一个 CHTest.tlb文件,这个才是能在VBA中被引用的东西。

     

    最后在VBA中重新引用,测试成功!

     

    以上方法在自己的电脑上获得成功,要在别人电脑上可以用,但是不能直接把 dll 和  tlb 文件拷贝就完事,必须在目标电脑上重新注册一次,而且必须有管理员权限,否则注册不了。这倒是个很麻烦的地方,还没有找到更简便的方法。

     

    参考于

    http://www.cnblogs.com/haoliansheng/archive/2011/11/23/2260089.html

     

    http://www.geeksengine.com/article/register-dll.html

     

     

     

     

     

    展开全文
  • 学过编程语言的人都应该知道,任何语言都喜欢用“hello world”来开端,既是一句简单友好的问候,又暗含将来自己编出的程序可以睥睨世界的雄心。所以,我们的VBA程序,也用“hello world”为开端,运行一个最简单的...
  • 如何产生固定的随机数(VBA

    千次阅读 2009-06-12 00:44:00
    该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!陈希章 原文地址:...
  • 大家好,今日内容仍是和大家分享VBA编程中常用的简单“积木”过程代码,这些内容大多是取至我编写的“VBA代码解决方案”教程中内容。NO.183-NO.184内容是:NO. 195:在VBA代码中使用使用Getfile方法获取文件信息NO. ...
  • VBA基础学习之1.9用户自定义函数 函数是一组可重复使用的代码,可以... 在本章中,我们将学习如何VBA编写自己的函数。 1.9.1 函数定义 一个VBA函数可以有一个可选的return语句。如果要从函数返回值,则可使用r...
  • 大家好,我们今日继续讲解VBA代码解决方案的第76...可以明显提高自己的工作效率,当然下面的代码不是万能的,可以根据自己的实际情况来修改编写。如果需要从文本文件中导入数据,可以使用OpenTextFile方法,应用于Fi...
  • 平时我们在使用Excel来进行日常数据的统计与记录的时候,如果此时的文档...而自己编写好了VBA代码后,如果此时将文档分享给他人的话,他人在查找到代码的时候,很有可能就会对代码进行修改或删除,从而影响表格的...
  • 函数是一组可重复使用的代码,可以在程序... 在本章中,我们将学习如何VBA编写自己的函数。 函数定义 一个VBA函数可以有一个可选的return语句。如果要从函数返回值,则可使用return语句。例如,可以在一个函数...
  • 大家好,我们今日继续讲解VBA代码解决方案的第76...可以明显提高自己的工作效率,当然下面的代码不是万能的,可以根据自己的实际情况来修改编写。如果需要从文本文件中导入数据,可以使用OpenTextFile方法,应用于Fi...
  • 模拟按键精灵(EXCEL+VBA

    热门讨论 2011-03-12 17:37:25
    主要的函数都放在KeyB_Mouse_sub模块中。代码无加密 2.6版更新:利用钩子改进了抓点方式(感谢小FISH给的范例),...里面值得参考的代码:VBA如何利用WIN32 API控制键盘鼠标 VBA利用钩子(勾子)实现鼠标抓点功能等等
  • 大家好,我们今日继续讲解VBA代码解决方案的第76讲内容:如何导入文本文件,我们在日常的工作中经常会需要从其他的文件中把一些文本拷贝到EXCEL中,往往会由于格式的问题要很长时间才可以完成,这里我讲解一下利用...
  • 大家好,我们今日继续讲解VBA代码解决方案的第76讲内容:如何导入文本文件,我们在日常的工作中经常会需要从其他的文件中把一些文本拷贝到EXCEL中,往往会由于格式的问题要很长时间才可以完成,这里我讲解一下利用...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
    本书将介绍如何定制Excel 用户窗体、开发新实用程序、用VBA 处理图表及数据透视表,以及创建事件处理应用程序。还将介绍如何使用VBA 子过程和函数过程、与其他应用程序轻松交互、构建用户友好的工具栏、菜单和帮助...
  • VBA解决方案系列丛书中,我给大家以实际场景模拟的方式讲解如何利用代码提高自己的工作效率,在现实的工作中会面临很多的实际问题,各种问题如何快速准确的解决是VBA的课题,VBA作为一种寄生语言,在OFFICE应用中起着非常...
  • 模板文件位于released下的VLOOK-Document-Template.md 为模板来创建你自己的 Markdown 文档 Step 3•应用插件 首先在 Typora 中将 Markdown 文件导出为「HTML」文件; 方式一(仅适用于 Windows 用户): 启动...
  • 自己编写程序来实现?也是可行的,不过首先要读取EXCEL文件内容读成数据集对象,再用两重循环逐行比较是否是重复行,删除重复行后再输出为新的EXCEL文件,编写代码的工作量可不少。而且因为EXCEL文件的格式不相同,...
  • 如何获取所有菜单栏命令按钮的图片以及FaceID?...72FAB11E11DCEEF3 简述:如何获取所有菜单栏命令按钮的图片以及FaceID?...我自己编写程序时要定义菜单,但是我不知道系统中定义图片的 FaceID 是
  • 在使用excel的过程中,我们知道,根据一个坐标我们很容易直接找到当前坐标的值,但是如果知道一个坐标里的值,反过来求该点的坐标的话,据我所知,excel没有提供现成的函数供使用,所以需要自己VBA编写函数使用
  • 说起Excel ,所有人都知道这是一个office办公软件,但是很少有人...对于一些需要VBA自动化实现的操作, Excel还提供了VBA的编程功能,可以让你根据自己的需求去编写代码或录制宏文件。毫不夸张的说,学会了VBA以后, ...
  • 第2章 使用VBA编写代码 13 2.1 编程初步 13 2.1.1 使用代码模块 14 2.1.2 声明变量 17 2.1.3 声明过程 21 2.1.4 控制程序流 27 2.1.5 代码注释 30 2.1.6 错误处理 30 2.1.7 本书的编程风格 31 2.2...
  • 您还将学习如何阅读和使用Microsoft Access或ActiveX数据对象(ADO)从脚本编写到数据库。书中还介绍了管理员如何从WSH脚本访问Active Directory服务接口(ADSI),以维护用户帐户,服务或股份。您将了解新技术基于...
  • 中文版Excel 2010宝典

    热门讨论 2013-06-25 11:14:10
    中文版Excel 2010宝典(扫描版) ------------------------------------------------------------ 原书名:Excel 2010 Bible ...● 开发自定义函数、编写VBA程序以及创建用户窗体 ● 尝试用新的切分工具动态筛选数据
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
    除此之外,还可以学习如何通过AutoShapes,用图片和色彩修饰图表,以及利用VBA编程创建交互式的动态图表。 目录 -------------------------------------------------------------------------------- 第Ⅰ部分 基础...
  • FMLDATA的源码

    2014-06-02 15:57:42
    例如,我们要将DZH现有数据或者自己编写的公式的计算结果导出来,在EXCEL等外部软件进一步处理。(与FinDataTools工具的区别是:FMLDATA.DLL导出的是DZH原始数据或公式计算结果,而FinDataTools直接从DZH/FXJ读取...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

vba如何自己编写