完全不是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
我有非常相似的代码,可以根据在控制列中输入的有效日期在页面之间复制,剪切和粘贴内容,并且效果很好...