如果日期更改,Vba会向行添加边框

时间:2015-06-18 11:56:39

标签: vba excel-vba excel

我有一个包含最多20列的大型电子表格。日期在C列中。我想要做的是有一个宏,它在日期的最后一行添加边框,以便将行分成日期。即

// IDs got from checkboxes
$ids = array("10", "12");

// Add in NULL
$ids[] = "NULL";

$values = implode(",", $ids);
$sql = "Select * from new_deals where provider_id IN ($values)";

我还希望边框能够扩展工作表的宽度。另外值得注意的是,日期之间的差距可能比第二天更大。

3 个答案:

答案 0 :(得分:0)

使用条件格式,您可以轻松地执行此操作:

enter image description here

答案 1 :(得分:0)

此宏代码:

For i = 2 To UsedRange.Rows.Count 'Loop through all used cells
    If Cells(i - 1, 1).Value <> Cells(i, 1).Value Then 'If cell differs from previous cell
        Cells(i - 1, 1).Select 'Select it
        With Selection.Borders(xlEdgeBottom) 'change the border
        .LineStyle = xlContinuous
        .Weight = xlThick
        End With
    End If
Next i

制作此输出:

output
由于您的日期在C列,您需要更改

的所有实例
Cells(i, 1) and Cells(i - 1, 1)

Cells(i, 3) or Cells(i - 1, 3)

答案 2 :(得分:0)

我在研究原始海报要求的问题时遇到了这篇文章。如果将UsedRange.Rows.Count更改为ActiveSheet.UsedRange.Rows.Count,Wrightboy提供的代码将起作用。

我意识到我发布的内容已经有好几年了,但是想要添加此信息,以防像我这样的人在旅途中偶然发现它。