需要将日期从一列复制到另一列中,以获得两个不同颜色行之间的行范围



诚然,我是一个 VBA 菜鸟,需要一些重要的帮助来尝试弄清楚以下内容。

因此,在我的数据集中,我有绿色背景的行和红色背景的行。

我需要从绿色背景行中的 S 列中获取日期和时间,并将其复制到绿色行和红色行之间的每一行的 D 列中,包括彩色行。

然后,我需要从红色背景行中的列 s 中获取日期和时间,并将其复制到同一范围内每一行的 E 列中,再次包括彩色行。

这需要每组数据多次完成,每次绿行和红行之间的行数可变。

我认为使用 R1C1 单元寻址而不是 A1 是有意义的。我特别迷失的是,首先,如何检测每个单元格的背景颜色,其次,如何计算绿色和红色单元格之间的行数,第三,我如何从一行到另一行阅读。我只是把它当作一个已知大小的数组吗?

我是使用 Excel 的 VBA 的新手,诚然,我在这里挣扎了很多。我正在浏览各种书籍、教程等,但我真的可以使用一些帮助!!

你的问题有点不清楚。为了检测背景颜色,您可以使用.Interior.ColorIndex,为了计算行数和从行到另一行获取读数,您需要使用循环公式。

这个简单的子检查单元格A的背景颜色是否为绿色,如果是,则将值从B列中的单元格复制到C列中的单元格。

Sub Copy()
Dim i As Long
For i = 1 To 7
If Worksheets("Sheet1").Cells(i, "A").Interior.ColorIndex = 4 Then
Worksheets("Sheet1").Cells(i, "C").Value = Worksheets("Sheet1").Cells(i, "B").Value
End If
Next i
End Sub

最新更新