EXCEL单元格A1为*,任何粘贴方式都不能改变A1的背景颜色?
发布网友
发布时间:2022-04-21 02:19
我来回答
共4个回答
热心网友
时间:2023-11-04 12:24
可以使用【条件格式】(在【开始】选项卡中),设置使用公式=TRUE填充*,如下图:
这样就无法填充别的颜色了,始终是*。
热心网友
时间:2023-11-04 12:24
原因:没有粘贴源文件格式,所以在新表格中可能因为表格默认颜色设置的问题导致颜色与原表格不同。
解决方法:
1、首先打开一个excel表格,在单元格中输入数据,并设置单元格颜色。
2、选中单元格,使用快捷键“Ctrl+C”执行复制操作。
3、然后打开新的excel表格,在单元格中点击鼠标右键,选择“选择性粘贴”中的“粘贴源格式”。
4、即可将复制的单元格粘贴到新的表格中,而不改变原本的格式与颜色。
一、问题的解决办法
关于这个问题,只能使用VBA来做,下面,一个非常实用的也很简单的通用的方法。
二、实例制作
1. 假如,工作薄中存在这样的一个工作表。
2.在这个工作薄的任何一个工作表,只要对方修改了哪个单元格的值,其值与原来的不一样,那么,对应单元格的背景颜色就会变成红色的。
3.以下是制作的过程,请您认真仔细的看了,否则会功亏一篑。
4.在工作表激活的状态下,按下“Alt+F11”组合键,弹出Microsoft Visual Basic窗口,如下图!
5.然后,如上图一样,找到ThisWorkbook点击右键,选择“查看代码”,之后,会弹出如下图的代码编写窗口。
6.上图中,请先选择好“通用”对象名,之后,直接输入上述被选中的代码。
最后,紧跟着直接输入如下的代码,以完成上述的所有代码的输入:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MyRow = Target.Row
MyColumn = Target.Column
MyNewValue = Cells(MyRow, MyColumn).Value
If (MyNewValue <> MyOldValue) Then
Cells(MyRow, MyColumn).Interior.ColorIndex = 3
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
MyRow = Target.Row
MyColumn = Target.Column
MyOldValue = Cells(MyRow, MyColumn).Value
End Sub
代码输入完成之后,请在Microsoft Visual Basic窗口中进行保存操作,现在,整个代码输入过程就完成了,并且,可以直接使用了。
7.返回到Excel窗口,现在,就来验证一下代码吧!
比如,试图将“大众三七网”改成“文山三七”;试图将“2009-8-1”改成“2119-8-1”,那么,这两个单元格的值与原来的就不一样了,因此,背景颜色自然就会自动变成红色的了。追问很接近了,的确,我也觉得只能用VBA来实现。 我需要的是把A1单元格写死。不管是如何增加行增加列,只要是A1单元格背景颜色不变,不需要做对比,因为A1单元格数据随时会变。
可以换一个思路,这张表 只要执行了粘贴,那么A1就变色。
热心网友
时间:2023-11-04 12:25
选定A1单元格后,文件右边下拉符号—格式—条件格式,新建规则,选择“使用公式确定要设置格式的单元格”,输入公式=LEN($A$1)>=1,格式选择你要的*,确定即可
热心网友
时间:2023-11-04 12:25
用vba,只要表格发生了变化,就把A1的颜色设置为*追问怎么写呢?