精华内容
下载资源
问答
  • vba笔记

    2019-01-27 00:10:26
    通过一个输入对话框,或者在窗体上放一个控件,在激活了这个对话框(或焦点转移到控件上)时,用户可以通过点击工作表,从而选择目标单元格区域(同时,输入框或窗体控件中动态显示所区域的地址) —就像在Excel公式...

    如何用VBA实现这样的功能:
    通过一个输入对话框,或者在窗体上放一个控件,在激活了这个对话框(或焦点转移到控件上)时,用户可以通过点击工作表,从而选择目标单元格区域(同时,输入框或窗体控件中动态显示所选区域的地址)
    —就像在Excel公式向导里,用户可以通过点击工作表中的单元格的方式,来输入单元格地址(同时被选择区域周围显示动态虚线框)

    解决方法:不能直接用 InputBox 函数,而要用 Application.InputBox(Prompt, Type:=8) 方法

    application.InputBox("Select Range",type:=8)

    如果在窗体中实现,需要使用RefEdit控件

    https://docs.microsoft.com/zh-CN/office/vba/api/Excel.Application.InputBox

    展开全文
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    04147设置单元格区域的除对角线以外的全部边框 04148删除单元格区域的全部边框 04149设置单元格的颜色和背景 04150设置单元格的格式 04151设置单元格的对齐方式 04152缩小单元格内容以全部显示 04153设定、删除...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧2 选定单元格区域的方法 12 2-1 使用Select方法 12 2-2 使用Activate方法 12 2-3 使用Goto方法 12 技巧3 获得指定行、列中的最后一个非空单元格 12 技巧4 定位单元格 12 技巧5 查找单元格 12 5-1 使用Find方法 ...
  • VBA编程技巧大全

    2013-08-05 09:03:19
    技巧2 选定单元格区域的方法 15 2-1 使用Select方法 15 2-2 使用Activate方法 16 2-3 使用Goto方法 17 技巧3 获得指定行、列中的最后一个非空单元格 17 技巧4 定位单元格 20 技巧5 查找单元格 21 5-1 使用Find方法 ...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
     11.1.13 确定单元格区域是否包含在另一个单元格区域内  11.1.14 确定单元格的数据类型  11.1.15 读写单元格区域  11.1.16 在单元格区域中插入值的更好方法  11.1.17 传递一维数组中的内容  11.1.18 将单元格...
  • 中文版Excel.2007高级VBA编程宝典 2/2

    热门讨论 2012-04-06 16:41:38
     11.1.13 确定单元格区域是否包含在另一个单元格区域内  11.1.14 确定单元格的数据类型  11.1.15 读写单元格区域  11.1.16 在单元格区域中插入值的更好方法  11.1.17 传递一维数组中的内容  11.1.18 将单元格...
  • 中的选项。(5)参数LookAt,可。可以为以下常量之一:XlWhole或者xlPart,用来指定所查找...用来确定如何在单元格区域中进行查找,是以行的方式(xlByRows)查找,还是以列的方式(xlByColumns)查找,默认值为xlB...

    拉框中的选项。

    (5)参数LookAt,可选。可以为以下常量之一:XlWhole或者xlPart,用来指定所查找的数据是与单元格内容完全匹配还是部分匹配,默认值为xlPart。对应于“查找与替换”对话框中,“单元格匹配”复选框。

    (6)参数SearchOrder,可选。用来确定如何在单元格区域中进行查找,是以行的方式(xlByRows)查找,还是以列的方式(xlByColumns)查找,默认值为xlByRows。对应于“查找与替换”对话框中,“搜索”下拉框中的选项。

    (7)参数SearchDirection,可选。用来确定查找的方向,即是向前查找(XlPrevious)还是向后查找(xlNext),默认的是向后查找。

    (8)参数MatchCase,可选。若该参数值为True,则在查找时区分大小写。默认值为False。对应于“查找与替换”对话框中,“区分大小写”复选框。

    (9)参数MatchByter,可选。即是否区分全角或半角,在选择或安装了双字节语言时使用。若该参数为True,则双字节字符仅与双字节字符相匹配;若该参数为False,则双字节字符可匹配与其相同的单字节字符。对应于“查找与替换”对话框中,“区分全角/半角”复选框。

    (10)参数SearchFormat,可选,指定一个确切类型的查找格式。对应于“查找与替换”对话框中,“格式”按钮。当设置带有相应格式的查找时,该参数值为True。

    (11)在每次使用Find方法后,参数LookIn、LookAt、SearchOrder、MatchByte的设置将保存。如果下次使用本方法时,不改变或指定这些参数的值,那么该方法将使用保存的值。

    在VBA中设置的这些参数将更改“查找与替换”对话框中的设置;同理,更改“查找与替换”对话框中的设置,也将同时更改已保存的值。也就是说,在编写好一段代码后,若在代码中未指定上述参数,可能在初期运行时能满足要求,但若用户在“查找与替换”对话框中更改了这些参数,它们将同时反映到程序代码中,当再次运行代码时,运行结果可能会产生差异或错误。若要避免这个问题,在每次使用时建议明确的设置这些参数。

    3. Find方法使用示例

    3.1 本示例在活动工作表中查找what变量所代表的值的单元格,并删除该单元格所在的列。

    ‘- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Sub Find_Error()

    Dim rng As Range

    Dim what As String

    what = "Error"

    Do

    Set rng = ActiveSheet.UsedRange.Find(what)

    If rng Is Nothing Then

    Exit Do

    Else

    Columns(rng.Column).Delete

    End If

    Loop

    End Sub

    ‘- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    3.2 带格式的查找

    本示例在当前工作表单元格中查找字体为"Arial Unicode MS"且颜色为红色的单元格。其中,Application.FindFormat对象允许指定所需要查找的格式,此时Find方法的参数SearchFormat应设置为True。

    ‘- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Sub FindWithFormat()

    With Application.FindFormat.Font

    .Name = "Arial Unicode MS"

    .ColorIndex = 3

    End With

    Cells.Find(what:="", SearchFormat:=True).Activate

    End Sub

    ‘- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    [小结] 在使用Find方法找到符合条件的数据后,就可以对其进行相应的操作了。您可以:

    (1)对该数据所在的单元格进行操作;

    (2)对该数据所在单元格的行或列进行操作;

    (3)对该数据所在的单元格区域进行操作。

    --------------------------------------------------------------------------------

    4. 与Find方法相联系的方法

    可以使用FindNext方法和FindPrevious方法进行重复查找。在使用这两个方法之前,必须用Find方法指定所需要查找的数据内容。

    4.1 FindNext方法

    FindNext方法对应于“查找与替换”对话框中的“查找下一个”按钮。可以使用该方法继续执行查找,查找下一个与Find方法中所指定条件的数据相匹配的单元格,返回代表该单元格的Range对象。在使用该方法时,不影响选定区域或活动单元格。

    4.1.1 语法

    .FindNext(After)

    4.1.2 参数说明

    参数After,可选。代表所指定的单元格,将从该单元格之后开始进行查找。开始时不查找该位置所在的单元格,直到FindNext方法绕回到该单元格时,才对其内容进行查找。所指定的位置必须是单元格区域中的单个单元格,如果未指定本参数,则将从单元格区域的左上角的单元格之后开始进行查找。

    当查找到指定查找区域的末尾时,本方法将环绕至区域的开始继续查找。发生环绕后,为停止查找,可保存第一次找到的单元格地址,然后测试下一个查找到的单元格地址是否与其相同,作为判断查找退出的条件,以避免出现死循环。当然,如果在查找的过程中,将查找到的单元格数据进行了改变,也可不作此判断,如下例所示。

    4.1.3 对VBA帮助系统上的一点疑问探讨

    在VBA帮助系统中,介绍Find方法和FindNext方法所使用的示例好像有点问题:当在Excel中运行时,虽然运行结果正确,但是在运行到最后时,会报错误:运行时错误’91’:对象变量或With块变量未设置。究其原因,可能是对象变量c的问题,因为当进行查找并将相应的值全部改变后,最后变量c的值为Nothing。将其稍作改动后,运行通过。

    原示例代码如下:(大家也可参见VBA帮助系统Find方法或FindNext方法帮助主题)

    本示例在单元格区域A1:A500中查找值为2的单元格,并将这些单元格的值变为5。

    With Worksheets(1).Range("a1:a500")

    Set c = .Find(2, lookin:=xlValues)

    If Not c Is Nothing Then

    firstAddress = c.Address

    Do

    c.Value = 5

    Set c = .FindNext(c)

    Loop While Not c Is Nothing And c.Address <> firstAddress

    End If

    End With

    经修改后的示例代码如下,即在原代码中加了一句错误处理语句On Error Resume Next,忽略所发生的错误。

    Sub test1()

    Dim c As Range, firstAddress As String

    On Error Resume Next

    With Worksheets(1).Range("a1:a15")

    Set c = .Find(2, LookIn:=xlValues)

    If Not c Is Nothing Then

    firstAddress = c.Address

    Do

    c.Value = 5

    Set c = .FindNext(c)

    Loop While Not c Is Nothing And c.Address <> firstAddress

    End If

    End With

    End Sub

    或者,将代码作如下修改,即去掉原代码中最后一个判断循环的条件c.Address <> firstAddress,因为本程序的功能是在指定区域查找值为2的单元格并替换为数值5,当程序在指定区域查找不到数值2时就会退出循环,不涉及到重复循环的问题。

    Sub test2()

    Dim c As Range, firstAddress As String

    With Worksheets(1).Range("a1:a15")

    Set c = .Find(2, LookIn:=xlValues)

    If Not c Is Nothing Then

    firstAddress = c.Address

    Do

    c.Value = 5

    Set c = .FindNext(c)

    Loop While Not c Is Nothing

    End If

    End With

    End Sub

    您也可以试试该程序,看看我的理解是否正确,或者还有什么其它的解决办法。

    4.2 FindPrevious方法

    可以使用该方法继续执行Find方法所进行的查找,查找前一个与Find方法中所指定条件的数据相匹配的单元格,返回代表该单元格的Range对象。在使用该方法时,不影响选定区域或活动单元格。

    4.2.1 语法

    展开全文
  • 我在Excel中用VBA以及函数制作了以下日历效果,框选单元格区域即返回对应的日期段,请问该效果在JavaScript中如何实现? ![图片说明](https://img-ask.csdn.net/upload/201903/06/1551835309_579420.gif) ----...
  • 【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】:Word有分栏功能,本工具使Excel也具有同类功能。当数据列数太少...
  • 【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】:Word有分栏功能,本工具使Excel也具有同类功能。当数据列数太少...
  • Excel百宝箱9.0无限制破解版

    热门讨论 2012-02-03 19:05:29
    【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】:Word有分栏功能,本工具使Excel也具有同类功能。当数据列数太少...
  • Excel百宝箱

    2012-10-27 17:09:21
    【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】:Word有分栏功能,本工具使Excel也具有同类功能。当数据列数太少...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【生成系统图标】【获取内置命令】【修复Excel】【破解VBA密码】【删除空单元格】【转置选区】【按列倒置】【按列倒置】【字母大小写转换】【小写金额转大写】【大写金额转小写】【区域数据加密】【多区域复制】【按...
  • 【复选框工具】批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】Word有分栏功能,本工具使Excel也具有同栏功能。当数据列数太少浪费...
  • EXCEL百宝箱8.0终极版

    2011-11-05 16:48:02
    【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】:Word有分栏功能,本工具使Excel也具有同类功能。当数据列数太少...
  • excel 工具箱

    2012-01-22 15:04:34
    【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复是否可以打印、与单元格链接等等 【报表分栏工具箱】:Word有分栏功能,本工具使Excel也具有同类功能。当数据列数太少...
  • • 使用复选框控件制作多选调查问卷 • 使用选项按钮控件制作单项调查问卷 • 使用组合控件制作调查问卷 • 使用文本框控件快速录入三位数字 • Excel工作簿中插入用户窗体 • 在用户窗体中插入控件 • 为窗体控件...
  • Excel集成工具箱7.0是利用VBA(Visual Basic for Applications)语言编写的增强应用型插件。包括160个菜单功能和100个左右自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用Excel ...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    可以生成含重复值与不含重复值并可是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将...
  • 可以生成含重复值与不含重复值并可是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将...
  • 可以生成含重复值与不含重复值并可是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将...
  • 可以生成含重复值与不含重复值并可是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将...
  • 11.5.1 在“值区域”中消除空白单元格 231 11.5.2 确保使用了表格布局 232 11.5.3 使用AutoSort控制排序 232 11.5.4 更改默认的数字格式 232 11.5.5 禁用多个行字段的分类汇总功能 233 11.5.6 禁用行总计...
  • 11.5.1 在“值区域”中消除空白单元格 231 11.5.2 确保使用了表格布局 232 11.5.3 使用AutoSort控制排序 232 11.5.4 更改默认的数字格式 232 11.5.5 禁用多个行字段的分类汇总功能 233 11.5.6 禁用行总计...
  • 11.5.1 在“值区域”中消除空白单元格 231 11.5.2 确保使用了表格布局 232 11.5.3 使用AutoSort控制排序 232 11.5.4 更改默认的数字格式 232 11.5.5 禁用多个行字段的分类汇总功能 233 11.5.6 禁用行总计...
  • 11.5.1 在“值区域”中消除空白单元格 231 11.5.2 确保使用了表格布局 232 11.5.3 使用AutoSort控制排序 232 11.5.4 更改默认的数字格式 232 11.5.5 禁用多个行字段的分类汇总功能 233 11.5.6 禁用行总计...
  • 中文版Excel.2007图表宝典 1/2

    热门讨论 2012-04-06 18:49:24
    7.8 使用复选框选择要绘制的系列/206 7.8.1 创建图表/207 7.8.2 添加复选框控件/207 7.8.3 定义名称/207 7.8.4 修改图表系列/208 7.9 创建一个非常互动化的图表/208 7.9.1 获取数据/209 7.9.2 创建选项按钮控件/209 ...
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
    7.8 使用复选框选择要绘制的系列/206 7.8.1 创建图表/207 7.8.2 添加复选框控件/207 7.8.3 定义名称/207 7.8.4 修改图表系列/208 7.9 创建一个非常互动化的图表/208 7.9.1 获取数据/209 7.9.2 创建选项按钮控件/209 ...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

vba框选单元格区域