复制,粘贴特殊格式会根据另一个单元格中的条件选择特定的单元格

时间:2018-08-21 20:22:44

标签: excel vba excel-vba

完全不是VBA专家,非常感谢您的专家可以提供的任何帮助。我有一个包含10列(A-J)和一个“控制”列(M)的电子表格。从第9行开始填充数据行,第8行为标题行。如果满足M列中的条件,则第7行包含要应用于行的特定格式。由于多种原因,我需要使用VBA而不是条件格式。我拥有的代码几乎可以正常工作。它在满足条件的第一行上工作,但随后的所有行都没有。试图解决此问题,但现在都无效。

我当前代码的细节是:
rngSheet-我的电子表格区域,其中包含需要格式化的数据。
rngColorTrigger-包含条件的列M。条件触发条件是列值是否为0。
rngColor-包含要复制和粘贴的格式的单元格(第7行)。

我当前的工作非常糟糕的代码:

   Private Sub Worksheet_SelectionChange2(ByVal Target As Range)
   Dim rngColor As Range
   Dim rngSheet As Range
   Dim rngColorTrigger As Range
   Set rngColor = Sheet1.Range("rngColor")
   Set rngSheet = Sheet1.Range("rngSheet")
   Set rngColorTrigger = Sheet1.Range("rngColorTrigger")

   ' Limit the copy area to the range for which the trigger is entered
   If Not Intersect(Target, Sheet1.Range("rngColorTrigger")) Is Nothing Then

   ' Only trigger if the value entered is valid (Cell in Column M = 0)
   For Each cell In Range("rngColorTrigger")
       If cell.Value = 0 Then
           Sheet1.Range("rngColor").Select
           Range(Selection, Selection.End(xlDown)).Select
           Selection.Copy
           Sheet1.Range("rngSheet").Select
           Selection.PasteSpecial Paste:=xlPasteFormats

       End If
       Next cell

       ' Reset EnableEvents
       Application.EnableEvents = True
   End If
 End Sub

我有非常相似的代码,可以根据在控制列中输入的有效日期在页面之间复制,剪切和粘贴内容,并且效果很好...

0 个答案:

没有答案