如何在Excel中满足条件时在两个单元格之间绘制虚线

我的Excel文件看起来像这样:

在这里输入图像说明

如果满足某些条件,我将如何去绘制单元格(xxxx)和单元格(aaa)之间的红色虚线?

下面是一个如何在两个Range之间画一条线并将其格式化为红色和虚线的例子。 您可以调整testing代码,以根据您的应用程序所需的任何条件来select两个Range 。 注意testing代码使用了rng1在左边而rng2在右边的假设:

 Option Explicit Sub Test() Dim rng1 As Range Dim rng2 As Range 'assume L->R line where rng1 is left and rng2 is right 'you can set these ranges based on any logic you have Set rng1 = Sheet1.Range("B2") Set rng2 = Sheet1.Range("G5") DrawLineBetweenCells rng1, rng2 End Sub Sub DrawLineBetweenCells(rng1 As Range, rng2 As Range) Dim sngBeginX As Single Dim sngBeginY As Single Dim sngEndX As Single Dim sngEndY As Single Dim ws As Worksheet Dim shp As Shape 'get worksheet of source range (assume target is same sheet...) Set ws = rng1.Parent 'right middle edge of start cell sngBeginX = rng1.Left + rng1.Width sngBeginY = rng1.Top + (rng1.Height / 2) 'left middle edge of end cell sngEndX = rng2.Left sngEndY = rng2.Top + (rng1.Height / 2) 'draw line Set shp = ws.Shapes.AddLine(sngBeginX, sngBeginY, sngEndX, sngEndY) 'format line shp.Line.ForeColor.RGB = RGB(255, 0, 0) shp.Line.EndArrowheadStyle = msoArrowheadDiamond shp.Line.DashStyle = msoLineDash End Sub 

例:

在这里输入图像描述

使用条件格式和公式并格式化底部边界。 你不能格式化一个单元格的内部,只有外部,所以要记住这一点。