我有一张包含姓名列表的主记录表。这些姓名都是使用以下公式从其他 10 个单独组表中的绝对值复制而来:='C3'!A19
工作表名称为;主工作表、A1、A2、B1、B2 .....
值已复制,但单元格背景颜色的格式尚未复制,而且我没有 VB 代码经验。我尝试了几段代码,但玩了一会儿后,还是无法让它们按我想要的方式工作。
由于名称取自一张工作表,且与主记录(A1 工作表除外)不完全对齐,我尝试使用 IF(MATCH 函数,但无法使其正常工作。我还设法使用格式刷工具使其工作 - 但这只能一次性起作用 - 并且组名颜色每天都在变化。
欢迎任何建议:)
不使用 VBA \ Macros(即仅使用公式)可以做到这一点吗?
答案1
我认为你需要一个宏。
这将适用于真正简单的公式,例如:
='C3'!A19
它会不是适用于如下公式:
='C3'!A19+1
将以下宏放入标准模块中:
Sub KopyFormat()
Dim cell As Range, sourze As Range, s As String
For Each cell In Selection
If cell.HasFormula Then
s = Mid(cell.Formula, 2)
Set sourze = Range(s)
sourze.Copy
cell.PasteSpecial xlPasteFormats
End If
Next cell
End Sub
然后选择您想要处理的公式单元格并运行宏。
宏很容易安装并使用:
- ALT-F11 打开 VBE 窗口
- ALT-I ALT-M 打开新模块
- 粘贴内容并关闭 VBE 窗口
如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx
到消除宏:
- 调出如上所示的 VBE 窗口
- 清除代码
- 关闭 VBE 窗口
到使用Excel 窗口中的宏:
- ALT-F8
- 选择宏
- 触摸运行
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
必须启用宏才能使其工作!