当前位置:编程学习 > VB >>

帮改:只要某一行A列单元格变为红色就复制粘贴的代码

帮改:只要某一行A列单元格变为红色就复制粘贴的代码

只要某一行A列单元格变为红色(从A5单元格开始),就复制$B$3:$S$3数据粘贴到(与A列变为红色单元格同行与$B$3:$S$3同列位置)的代码。具体如下:
帮改:只要某一行A列单元格变为红色就复制粘贴的代码

只要某一行A列单元格变为红色(从A5单元格开始),就复制$B$3:$S$3数据粘贴到(与A列变为红色单元格同行与$B$3:$S$3同列位置)的代码。具体如下:
若A5单元格变红色,就复制$B$3:$S$3粘贴到B5:S5;
若A6单元格变红色,就重复制$B$3:$S$3粘贴到B6:S6;
若A7单元格变红色,就重复制$B$3:$S$3粘贴到B7:S7;
.......
若A5单元格不变红色,则不执行,A列单元格变红色顺序从上到下,不间断,EXCEL2003该复制粘贴动作最大行数3500。A列单元格因何变红色,是我自定义而成,可不管,
每次重复制$B$3:$S$3是随时钟不断更新的数据区域。

用以下语句:
Sub code()
    Dim i%
    For i = 4 To [a65536].End(xlUp).Row
        If Sheet1.Cells(i, 1).Interior.Color = vbRed  Then  '判断A列单元格中是否有单元格底色为红色,如有执行下面语句
            Sheet1.Cells(i, 2) = Sheet1.[b3].Value
            Sheet1.Cells(i, 3) = Sheet1.[c3].Value
            ………………
       Sheet1.Cells(i, 19) = Sheet1.[s3].Value
           End If
    Next
End Sub

上面语句的结果错误,4行以下粘贴结果都相同,应不同才对,才是随时钟$B$3:$S$3不断更新的结果。请大虾帮改一下。 --------------------编程问答-------------------- Sub code() 
    Dim i% 
    For i = 4 To [a65536].End(xlUp).Row 
        doevents'加这个试试
        If Sheet1.Cells(i, 1).Interior.Color = vbRed  Then  '判断A列单元格中是否有单元格底色为红色,如有执行下面语句 
            Sheet1.Cells(i, 2) = Sheet1.[b3].Value 
            Sheet1.Cells(i, 3) = Sheet1.[c3].Value 
            ……………… 
      Sheet1.Cells(i, 19) = Sheet1.[s3].Value 
          End If 
    Next 
End Sub --------------------编程问答--------------------
Sub code() 
    Dim i% 
    For i = 4 To [a65536].End(xlUp).Row         
        If Sheet1.Cells(i, 1).Interior.Color = vbRed  Then  '判断A列单元格中是否有单元格底色为红色,如有执行下面语句 
              Sheet1.Cells(i, 2) = Sheet1.[b3].Value 
            Sheet1.Cells(i, 3) = Sheet1.[c3].Value 
            '……………… 
              Sheet1.Cells(i, 19) = Sheet1.[s3].Value 
       End If 
       DoEvents'放这里好点,如果可以的话
    Next 
End Sub
--------------------编程问答-------------------- 回复king06,还是不行。
补充:VB ,  VBA
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,