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

VBA: 禁止单元格移动,防止单元格公式引用失效(2)

文章背景: Excel公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。...使用VBA代码:Application.CellDragAndDrop = False ,虽然可以避免单元格被移动,但也存在一个问题,如果复制其他工作簿的内容,再回到本工作表内进行粘贴时,发现数据无法粘贴...为了禁用自动填充功能的同时,依然可以本工作表内正常跨表粘贴数据,查阅相关资料之后,找到了可以实现这样要求的VBA代码。 示例: 本工作簿内,原始数据保存在sheets("源数据")这张表内。...Application.CellDragAndDrop = Enable CloseClipbrd: Call CloseClipboard End Property 代码块输入区域和效果展示...: 禁止单元格移动,防止单元格公式引用失效

1.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

使用VBA操作Excel公式

标签:VBA Excel公式,我们可以看到当前单元格的内容,或者当前单元格使用公式,如下图1所示。 图1 我们也可以使用VBA来操作公式栏,作出一些变化。...通常我们会使用两个属性,一个是DisplayFormulaBar属性,用于设置是否显示/隐藏公式栏;一个是FormulaBarHeight属性,用于设置公式栏的高度。...下面我们列举两个示例来看看VBA是怎么操控公式栏的。 示例1:对指定列自动增加公式栏高度 当用户将当前单元格置于指定列时,公式栏自动增加高度。...例如,当前单元格位于列C时,公式栏会向下扩展,从而显示更多内容;位于其他列时,恢复原高度。...图2 示例2:对指定单元格隐藏公式栏 有时候,我们不想让用户直接看到我们所使用公式,此时就可以在用户将单元格移到指定单元格时,隐藏公式栏。 例如,当用户将单元格移至列D时,隐藏公式栏。

1.4K20

Excel公式技巧27: 条件格式中使用公式来突出显示单元格

学习Excel技术,关注微信公众号: excelperfect 条件格式与公式相配合,往往能够发挥很大的威力,其中之一就是用来突出显示单元格。如下图1所示,“新建格式规则”对话框: 1....选择“使用公式确定要设置格式的单元格” 2. “为符合此公式的值设置格式”框输入适当的公式 3. 单击“格式”按钮,设置想要的格式。 ? 图1 本文以交替突出显示所选单元格区域颜色为例来讲解。...如下图2所示,给单元格区域中偶数行添加背景色。 ? 图2 可使用公式: MOD(ROW(),2)=0 其运算过程如下图3所示: ?...如果是TRUE,则应用设置的格式,即示例的偶数行。 同样,如果想为奇数行设置格式,则使用公式: MOD(ROW(),2)=1 结果如下图4所示。 ?...这样,可以使用公式: ISODD(ROW()+COLUMN()) 如果要求变换突出显示的单元格,可以使用公式: ISEVEN(ROW()+COLUMN()) 结果如下图8所示。 ? 图8

2.8K20

使用VBA,添加图片到单元格

标签:Excel技巧 有时候,我们想在单元格显示图片,然而又不想使用VBA,该怎么办呢?有一种方法,就是使用单元格批注。...可以将图片添加到单元格批注,这样,用户鼠标单元格上时,就会显示图片,无需VBA,非常简单,如下图1所示。 图1 下面讲解实现步骤。...步骤1:单元格单击右键,从快捷菜单中选择“插入批注”命令,如下图2所示。 图2 步骤2:选择批注,单击右键,从快捷菜单中选择“设置批注格式”命令,如下图3所示。...图3 步骤3:“设置批注格式”对话框,选择“颜色与线条”选项卡,单击“颜色”下拉框,从中选择“填充效果”命令,如下图4所示。...图4 步骤4:“填充效果”对话框,选择“图片”选项卡,单击“选择图片”按钮,如下图5所示。 图5 步骤5:在下图6所示的对话框,选择从哪里选取要插入的图片。

64630

VBA技巧:当单元格区域中包含由公式返回的空单元格时,如何判断?

标签:VBA VBA,我们经常会遇到需要检查某个单元格区域是否为空的情形。我们可以使用下面程序的代码来检查单元格区域是否为空。..." Else MsgBox "单元格区域为空" End If End Sub 然而,如果单元格区域偶然包含一个返回为空的公式,则上述代码不会将该单元格区域返回为空,因为它包含公式返回为空的单元格...要处理这个问题,可以使用下面的命令来检查单元格区域是否为空,即使该单元格区域包含返回空的公式。..." Else MsgBox "单元格不全为空单元格" End If End Sub 还可以使用Find方法来判断,如下面的代码: Sub CheckIfBlandAdd2..." Else MsgBox "单元格不全为空单元格" End If End Sub 这将同时适用于任意连续的单元格区域。

2K10

【Excel】用公式提取Excel单元格的汉字

一、用公式提取Excel单元格的汉字 对于一个混杂各种字母、数字及其他字符和汉字的文本字符串,要提取其中的汉字,Excel通常可用下面的公式。...B2输入下面的公式: =LEFT(A2,LENB(A2)-LEN(A2)) 就会返回字符串开头的几个汉字。...使用上述公式时要求字符串的汉字是连续的,中间没有其它字符分隔。 如果字符串的汉字之间有其它字符分隔,例如上图中的A14单元格,要提取其中的所有汉字,可用下面的自定义函数。方法是: 1....按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,代码窗口中输入粘贴下面的代码: Function 提取汉字(sString As String) As String Dim regEx As...返回Excel工作表界面,B14单元格输入公式: =提取汉字(A14) 即可取得A14单元格字符串的所有汉字。 二、用公式提取引号(某2个相同字符)之间的内容 ?

6.2K61

Excel公式练习:合并单元格的条件求和

多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。 本次的练习是:示例数据如下图1所示。 图1 现在,想根据列A的数据对列B的值汇总。...例如,对于列A的“A”来说,列B对应的值是:1、13、14、15、16、17、18,其和为94。 我们将单元格区域A2:A21命名为“D”,单元格区域B2:B21命名为“V”。...要求只能使用公式,不能使用VBA,仅能使用上述两个命名区域名称,不能使用填充功能填充空单元格。 请写下你的公式。 解决方案 公式1:数组公式。...5:数组公式。...…… 公式并没有给出详细的解析,有兴趣的朋友可以参照前面推送的有关分析公式的文章对这些公式进行解析,相信对理解Excel函数,编写公式解决问题会有很大的帮助。

2.3K30

Excel公式技巧100:遍历单元格的数据

有时候,我们需要从单元格数据中提取出满足条件的值。例如,下图1所示的单元格B3的数据“NO13859724621”,我们想要得到相邻两个数字组成的最大的两位数。 ?...然而,怎么样使用公式获得这个值呢? 这就涉及到需要找到一种方法,从数据的开头开始,两个两个地取值,从而遍历整个数据,然后比较这些值,获取其中最大的值。...这样,我们使用下面的数组公式: =MAX(IFERROR(VALUE(MID(B3,ROW(A1:A100),2)),"")) 结果如下图2所示。 ?...图2 公式: MID(B3,ROW(A1:A100),2) 从单元格B3的第一个字符开始,按顺序依次获得两个字符组成的数值,如下图3所示。 ?...2.上述公式使用了ROW(A1:A100),假设单元格数据长度为100,其实可以使用下面的数组公式: =MAX(IFERROR(VALUE(MID(B3,ROW(INDIRECT("1:"& LEN

5.4K20

如何在合并单元格使用公式计算装车时间

今晚在学员群里看到一个很有挑战性的问题 大概的数据案例如下 第一想法是使用INDIRECT函数,例如第一个合并单元格,可以用下面得出答案 =INDIRECT("C7")-INDIRECT("B2"...合并单元格的实质是什么?...就是把内容(公式,数值等)放在合并单元格的左上角,其他单元格都变成空值 根据这个实质,我们可以对单元格进行统计分组,所以有了辅助列2,需要巧妙的用COUNTA函数 因为合并单元格之间都是空,所以会自动统计合并单元格数量...这里有个小技巧:注意最开始的单元格是固定的,这样下拉会使范围越来越大 好了,我们根据这两列可以求到每个合并单元格最开始的行号和列号了 最开始的行号=第一个合并单元格分组号 最末尾的行号=第一个合并单元格分组号...+组员数-1 使用MATCH函数找到第一个分组号,返回对应的辅助列1的内容,就是合并单元格最开始的行号 第一个思路的基础上,加上分组组员数量,减1,即得到末尾行号 回到最开始的思路 =INDIRECT

74310

如何在合并单元格使用公式计算装车时间

提问 今晚在学员群里看到一个很有挑战性的问题图片 [图片] 大概的数据案例如下 [在这里插入图片描述] 解答 第一想法是使用INDIRECT函数,例如第一个合并单元格,可以用下面得出答案 =INDIRECT...合并单元格的实质是什么?...就是把内容(公式,数值等)放在合并单元格的左上角,其他单元格都变成空值 根据这个实质,我们可以对单元格进行统计分组,所以有了辅助列2,需要巧妙的用COUNTA函数 [在这里插入图片描述] 因为合并单元格之间都是空...,所以会自动统计合并单元格数量 ==这里有个小技巧:注意最开始的单元格是固定的,这样下拉会使范围越来越大== 用INDEX和MATCH求开始行和结束行 好了,我们根据这两列可以求到每个合并单元格最开始的行号和列号了...最开始的行号=第一个合并单元格分组号 最末尾的行号=第一个合并单元格分组号+组员数-1 [在这里插入图片描述] 使用MATCH函数找到第一个分组号,返回对应的辅助列1的内容,就是合并单元格最开始的行号

1K00

使用VBA获取单元格背景色红色、绿色和蓝色的数值

标签:VBA 我们可以使用VBA代码来获取单元格背景色的RGB值,如下图1所示。 图1 列B、C、D单元格值就是列A相应单元格背景色的RGB值。...下面是将单元格背景色拆分成RGB数字表现形式的自定义函数: Function Red(rng) As Long Dim c As Long Dim r As Long c = rng.Interior.Color...b As Long c = rng.Interior.Color b = c \ 65536 Mod 256 Blue = b End Function 这样,如上图1所示,单元格...B2输入: =Red(A2) 单元格C2输入: =Green(A2) 单元格D2输入: =Blue(A2) 就会得到单元格A2的背景色相应的RGB值。...如果在其他应用我们要选择背景色,但却不知道其RGB值,那么就可以先在Excel单元格设置想要的背景色,然后使用这几个函数获取其RGB值,这样就可以应用到其他程序中了。

3K30
领券