首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA编程练习04. 在多个单元格区域查找多个数

学习Excel技术,关注微信公众号: excelperfect 本次练习题 如下图1所示的工作表,在单元格区域A2:F2中放置的是要查找的数值;在列H至列BF、行9至行30是被查找的区域,这个区域分17...个小区域,每个区域3列,其单元格中要么为空,要么放置着一些数值。...图1 现在,要在这17个小区域中查找单元格区域A2:F2中的值并将找到的数值的个数输入到其下方第32行的单元格中。如何使用VBA代码实现? VBA代码 先给出代码,再细细解释。...代码: WorksheetFunction.CountIf(rng(i),Cells(2, j)) 使用工作表函数COUNTIF函数来统计单元格区域中指定值的数量。...Cells(2,j)分别查找A2至F2中的数值,将找到的数值的个数累加到变量iCount中。最后得到每个小区域中包含的数值的个数,然后将得到的个数值输入到第32行中相应单元格中。

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA: 不连续单元格区域复制粘贴为数值

    文章背景: 处理表格时,有时需要选中单元格区域,将区域内单元格的公式复制粘贴为数值。如果是连续的单元格区域,这样的操作是可行的。如果是不连续的单元格区域,这样的操作会报错。...针对不连续的单元格区域,可以通过编写VBA代码的方式实现。 以下代码实现的功能是:针对选中的不连续的单元格区域,(1) 将单元格内的公式复制粘贴为数值;(2) 将单元格底色改为绿色。...:=False, Transpose:=False Application.CutCopyMode = False '单元格底色设置为绿色..., 以下代码通过录制宏的方式得到。...1663656343&vid=wxv_2307830465048772611&format_id=10002&support_redirect=0&mmversion=false 参考资料: [1] 不连续单元格如何复制贴成值

    1.5K30

    使用VBA快速给所选择的多个单元格区域绘制矩形边框

    下面的代码能够给当前工作表中所选择的单元格区域绘制红色的矩形边框。 首先,选取想要绘制边框的所有单元格区域,可以在选择单元格区域的同时按住Ctrl键,从而选取多个单元格区域。...然后,运行下面的代码,VBA会自动给所选单元格区域的周边绘制红色的边框,效果如下图1所示。...selectedAreas.Left, selectedAreas.Top, _ selectedAreas.Width, selectedAreas.Height) '修改所创建的形状的属性...,也可以使用VBA快速完成,代码如下: Sub deleteRedRectBox() Dim shp As Shape '遍历当前工作表中每个形状 For Each shp In ActiveSheet.Shapes...If Next shp End Sub 可以看到,这种情形使用VBA代码很方便,避免了你选择单元格区域然后进行一系列格式设置的频繁操作。

    72420

    VBA小技巧09:从非连续的单元格区域将值复制到指定单元格区域

    本文将给出一段VBA代码,从非连续的单元格区域复制值并粘贴到另外指定的单元格区域。 如下图1所示,将右侧两个单元格区域的数据复制到左侧的两个单元格区域中。 ? 图1 下图2是粘贴数据后的结果。 ?...图2 如果我们直接同时复制右侧两个区域中的数据,由于Excel不允许对多重选择区域执行复制操作,会弹出如下图3所示的提示信息。 ? 图3 看来并不如想像的那样简单!但是,我们可以使用VBA来完成。...首先定义数据区域名称和要复制到的区域的名称。 如下图4所示,将单元格区域H2:K4和G7:J9定义名称为“copyrng”。 ?...,多个区域中间使用“,”隔开,而其中“:”号的个数就是引用的单元格区域数,所以代码: Len(strAddress) -Len(Application.WorksheetFunction.Substitute...(strAddress, ":","")) 得到非连续区域的个数。

    3.3K40

    VBA专题13:引用单元格单元格区域的方法

    在VBA中,可以通过多种不同的方式来引用工作表中的单元格/单元格区域。下面是一些引用方法的汇总。 Range(“D1”) 引用单元格D1。 Range(“D” & i) 引用列D中行号为i的单元格。...其中,i是一个变量,可用于循环代码。 Range(“RangeName”) 引用名称为“RangeName”的单元格区域。 Cells(1,4) 引用第1行第4列的单元格,即单元格D1。...引用连续单元格区域中最底部的单元格(即该单元格下方的单元格为空)。还可以使用xlUP、xlLeft和xlRight来引用相应的单元格。...Range(“A1”).EntireColumn 引用起始单元格所在的整列。如果选择了多个单元格,则引用这些单元格所在的多列。 Range(“A1”).EntireRow 引用起始单元格所在的整行。...如果选择了多个单元格,则引用这些单元格所在的多行。 Range(“A1”).DirectDependents 等价于Ctrl+]组合键。引用目标单元格直接相关的单元格。

    3.9K20

    Excel VBA 自动填充空白并合并相同值的解决方案

    Excel VBA: 自动填充空白并合并相同值的解决方案问题背景在Excel中经常会遇到这样的数据处理需求:一列数据中存在多个空白单元格,需要用其上方最近的非空值填充,然后将相同的连续值合并成一个单元格...比如:1[空白][空白]2[空白][空白]3需要将其转换为三个合并的单元格,每个单元格分别包含1、2、3。合并前合并后解决方案我们可以通过VBA宏来自动化这个过程。下面是完整的解决方案:1....代码说明代码主要分为以下几个部分:初始化设置声明必要的变量获取工作表最后一行设置处理范围填充空白单元格遍历所有单元格如果遇到空白单元格,使用上方最近的非空值填充合并相同值遍历填充后的单元格记录开始单元格和当前值当遇到不同值时...,合并之前的区域特殊处理最后一行的情况格式设置设置合并后的单元格对齐方式添加完成提示3....使用方法添加代码到Excel按 Alt + F11 打开VBA编辑器在左侧项目浏览器中双击要添加宏的工作表将代码复制到代码窗口中运行宏方法一:通过VBA菜单按 Alt + F8 打开宏对话框选择 "FillAndMergeCells

    9820

    VBA技巧:记住单元格更改之前的值

    标签:VBA,工作表事件 当工作表单元格中的值被修改后,我需要将修改前的值放置到其右侧单元格中。例如,单元格A1中输入有数值1,当我将其内容修改为2之后,之前的数值1被放置到单元格B2中。...Worksheets("Sheet1").Range("B1") = sOldValue Application.EnableEvents = True End If End Sub 这样,当在单元格...A1中重新输入值时,原值会自动放置到单元格B1中。...当一列单元格区域中的值发生改变时,需要将修改之前的值放置到相邻列对应单元格中,例如对于单元格区域A1:A10,其值发生改变时,原来的值会自动放置到单元格区域B1:B10对应的单元格中。...Value = Target.Value Target.Value = sNewValue Application.EnableEvents = True End If End Sub 有兴趣的朋友可以试试看

    37810

    VBA程序:对加粗的单元格中的值求和

    标签:VBA 下面的VBA自定义函数演示了如何对应用了粗体格式的单元格求和。...ErrHandler: '检查是否溢出 If Err.Number = 6 Then SumBold = CVErr(xlErrNum) Resume Continue End Function 注意,当求和的单元格区域中单元格格式发生更改时...,不会触发任何事件;而使用Application.Volatile语句,每当在工作表上的内容更改时,单元格都会重新计算。...这意味着,仅对求和单元格区域中的单元格设置加粗格式,使用该自定义函数求和的值不会改变,除非按F9键强制计算,或者在工作表中输入内容导致工作表重新计算。...这个程序也提供了一个模板,可以稍作修改对其它格式设置的单元格来求和

    18610

    啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Range属性

    本文讲解如何使用VBA处理单元格,解释使用Range对象所需了解的所有基本细节。Range对象是VBA中用于引用和处理单元格的对象,是ExcelVBA中最常用的对象之一。...引用Range对象的最基本方法可能是使用Range属性。应用此属性时,将返回一个表示一个或多个单元格的Range对象。...2.命名单元格区域的名称 命名区域时,可以使用以下3个运算符之一: 1.冒号(:):这是用于设置数组的运算符。在引用单元格区域的上下文中,可以用来引用整列或整行、连续单元格区域或非连续单元格区域。...如下文图所示,可以使用交叉操作符来引用两个单独区域共用的单元格。 3.逗号(,):这是联合运算符,可用于组合多个区域。如下面的示例所示,在处理非连续单元格区域时,可以使用此运算符。...).Range(“A1”,“B5”) 使用Worksheet.Range属性引用非连续单元格区域 Excel中用于引用一系列非连续单元格的语法与用于引用一系列连续单元格的语法非常相似,只需使用逗号(,)

    6.7K20

    Excel VBA对象模型

    1、对象模型 上一讲说了Range对象,这一次我们从总体方面来说一下Excel VBA的对象模型。 你真正想了解Excel VBA里的对象的话,看官方文档是最好的,没有比官方文档更准确的了。...我们这么来理解看看,中国古代封建社会,比如周朝的时候,那时候的天下是1个天子、多个诸侯国、每个诸侯国里有多个家: Application 天下 EXCEL程序 Workbook 国...人 单元格 Cells 家的所有的人 1个工作表里所有的单元格 在天下初建的时候,还没有分封国(Workbook),这时候的状态就和我们用ThisWorkBook.Close...你双击一个Excel文件,他能够打开,不是你双击有什么魔力,这一切都是windows操作系统在后面帮忙做了很多很多工作。...我以自己非专业的认识讲一下,可能有不对的地方: 你双击一个Excel文件 windows操作系统根据后缀找到注册表里对应文件后缀的可执行文件,也就是EXCEL.EXE EXCEL.EXE首先运行起来

    2.3K32

    用于处理图表&图形的VBA代码大全5

    数据标签 数据标签显示图表系列中数据点的附加信息(如值或系列名称)。 所有代码以srs开始,假设图表系列已被赋值给变量。...显示或隐藏数据标签: '显示系列中所有点的数据标签 srs.HasDataLabels = True '隐藏系列中所有点的数据标签 srs.HasDataLabels = False 改变数据标签的位置...srs.DataLabels.Position = xlLabelPositionInsideBase srs.DataLabels.Position = xlLabelPositionOutsideEnd 误差线 误差线最初用于显示某个值的变化...然而,它们也常用于高级图表技术中,以创建额外的视觉元素。 所有代码以srs开始,假设图表系列已被赋值给变量。...处理每个点 Next pnt 点具有与系列相似的属性,但这些属性应用于系列中的单个数据点,而不是整个系列。看看下面的几个例子。

    32010

    用于处理图表&图形的VBA代码大全1

    标签:VBA 图表和图形是Excel最好的功能之一,它们非常灵活,可以用来进行一些非常高级的可视化。本文可以作为在Excel中使用VBA绘制图表的指南。...本文中的代码示例演示了使用VBA处理最常见的图表选项,很好地利用这些代码,自动创建和修改图表。...因此,本文中提供的一些代码可能无法用于Excel 2013之前的版本。 Chart对象、图表和图表工作表 在Excel的对象层次模型中,许多东西存在于许多地方。...: Dim cht As Chart Set cht = Sheets("Chart 1") 现在,可以通过使用cht引用图表来为图表工作表或ChartObject中的图表编写VBA代码: cht.ChartTitle.Text...'对图表声明数据单元格区域 Set rng = ActiveSheet.Range("A2:B9") '添加数据到图表 cht.Chart.SetSourceData Source:=rng

    71420

    用于处理图表&图形的VBA代码大全2

    基本的图表设置 下面的代码以cht开始,假设已经使用上面介绍的代码引用了图表。...= 20 '设置图表对象的大小/位置-方法2 chtObj.Height = 200 chtObj.Width = 300 chtObj.Left = 20 chtObj.Top = 20 改变可见单元格设置...: '修改设置仅显示可见单元格 cht.PlotVisibleOnly = False 修改柱形/条形间的空间(间隙宽度): '改变两个条形之间的间隙空间 cht.ChartGroups(1).GapWidth...= 50 更改柱形/条形的重叠: cht.ChartGroups(1).Overlap = 75 移除图表对象的外侧边框: cht.ChartArea.Format.Line.Visible = msoFalse...为了使代码适应你的特定需求,需要更改括号中引用的图表坐标轴。 所有的代码以cht开始,假设已经使用上面介绍的代码引用了图表。

    45310

    VBA自定义函数:满足多个条件并返回多个值的查找

    标签:VBA,自定义函数 如下图1所示,查找列A中值为“figs”的行,并返回该行中内容为“X”的单元格对应的该列中首行单元格的内容,即图1中红框所示的内容。...图1 在单元格B20中输入公式: =lookupFruitColours(A20,"X",A2:J17,A1:J1) 这个公式使用了自定义函数lookupFruitColours。...这个自定义函数的代码如下: Option Compare Text Function lookupFruitColours(ByVal lookup_value As String, _ ByVal...lookupFruitColours = Left(result_set, Len(result_set) - 1) End Function 其中,参数lookup_value代表要在指定区域第一列中查找的值...,参数intersect_value代表行列交叉处的值,参数lookup_vector代表指定的查找区域,参数result_vector代表返回值所在的区域。

    78710
    领券