Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 需要将日期从一列复制到两个不同颜色行之间的一系列行的另一列中_Excel_Vba - Fatal编程技术网

Excel 需要将日期从一列复制到两个不同颜色行之间的一系列行的另一列中

Excel 需要将日期从一列复制到两个不同颜色行之间的一系列行的另一列中,excel,vba,Excel,Vba,我承认我是一个VBA noob,需要一些主要的帮助来尝试解决以下问题 所以在我的数据集中,我有绿色背景的行和红色背景的行 我需要从绿色背景的行中的S列中获取日期和时间,并将其复制到绿色行和红色行(包括彩色行)之间的每一行的D列中 然后,我需要从红色背景的行中的s列中获取日期和时间,并将其复制到相同范围内每一行的E列中,同样包括彩色行 这需要对每组数据执行多次,每次绿色行和红色行之间的行数可变 我认为使用R1C1单元寻址而不是A1单元寻址是有意义的。我特别迷茫的是,首先,如何检测每个细胞的背景颜色

我承认我是一个VBA noob,需要一些主要的帮助来尝试解决以下问题

所以在我的数据集中,我有绿色背景的行和红色背景的行

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

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

这需要对每组数据执行多次,每次绿色行和红色行之间的行数可变

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


我是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

如果你在挣扎,那么你已经写了一些东西。你的问题应该包括你所写的内容。你能至少添加一个你的数据外观和所需输出的图像吗?