目录:
视频: A01 自动填充的威力 Excel数据处理与分析实战技巧精粹视频教程 2024
上生成的您是否尝试了解一个不熟悉的(并且复杂的)Excel工作簿?查看一张地图可以帮助您查看哪些单元格包含常量,哪些单元格包含值。
您可以创建一个VBA实用程序来生成活动工作表的映射。该地图是在新的工作表上生成的,它由颜色编码的单元格组成,可让您快速识别值,文本和公式。
<! - 1 - >下面,你会看到这样一个地图的例子。包含文本的单元格为绿色,不包含数值的单元格为黄色,包含公式的单元格为红色。这样的地图可以帮助您发现潜在的错误。例如,如果公式块中的一个公式已被值覆盖,该单元格将在地图视图中脱颖而出(如示例中的单元格Q11所示)。
<! - 2 - >QuickMap VBA代码
下面列出了生成工作表映射的VBA过程。如果您想使用此实用程序,只需复制代码并将其粘贴到VBA模块。然后,激活工作表并执行QuickMap子程序。
Sub QuickMap()Dim FormulaCells As Variant Dim TextCells As Variant Dim NumberCells As Variant Dim Area As Range If TypeName(ActiveSheet)“Worksheet”Then Exit Sub'为单元格子集创建对象变量On Error Resume Next Set FormulaCells = Range “A1”)。 SpecialCells _(xlFormulas,xlNumbers + xlTextValues + xlLogical)设置TextCells =范围(“A1”)。 SpecialCells(xlConstants,xlTextValues)设置NumberCells =范围(“A1”)。 SpecialCells(xlConstants,xlNumbers)On Error GoTo 0'添加一个新工作表并格式化工作表。添加单元格。 ColumnWidth = 2。大小= 8. HorizontalAlignment = xlCenter以应用程序结束。 ScreenUpdating = False'做公式单元格如果不是IsEmpty(FormulaCells)那么对于FormulaCells中的每个区域。有ActiveSheet的区域。范围(区域地址)。值=“F”。室内。 ColorIndex = 3结束下一个区域结束如果'做文本单元格如果不是空的(TextCells)那么对于TextCells中的每个区域。有ActiveSheet的区域。范围(区域地址)。值=“T”。室内。 ColorIndex = 4以下一个区域结束结束如果'做数字单元格如果不是IsEmpty(NumberCells)然后为NumberCells中的每个区域。有ActiveSheet的区域。范围(区域地址)。值=“N”。室内。 ColorIndex = 6 End With Next Area End If End Sub
工作原理
<! - 3 - >该过程首先检查以确保活动工作表是一个工作表。如果不是这样的话,那么快速退出并不需要采取进一步行动。当活动工作表是工作表时,该过程通过使用SpecialCells方法识别各种单元类型来创建三个对象变量。SpecialCells方法非常有用。如果您不熟悉,请在Excel的在线帮助文件中查看。注意使用On Error Resume Next。这是为了避免在没有单元格限定的情况下发生的错误 - 例如,如果工作表没有公式。接下来,该过程将添加一个新的工作表,缩小单元格宽度,并将水平对齐设置为居中。这一步是化妆品。然后子关闭屏幕更新,以加快一点点。接下来的三个代码块处理单元。如果没有单元合格,对象变量是空的,所以子测试。然后,例程循环遍历Range对象中的每个Area并格式化单元格。您可以轻松地自定义子程序的这一部分以应用不同的格式。
查看Power Utility Pak加载项以获取此实用程序的更复杂版本。