我想知道如何根据A2和A3相等且B2和B3也相等的事实来编写宏来将L3的值复制到L2。当列A和B的后续行不相等时,宏不需要向上推数据。在某些情况下,可能有多达10个后续行,其中A& B列值相等,最旧的月份值需要滚动到顶行,其中A& B匹配。
整个工作表大约有150行,包含许多城市和公司值。我目前正在手动执行此操作,这非常耗时。电子表格的目的是根据从基于SQL的CRM软件包中提取的数据提供销售访问摘要。第4行没有有意义的数据是该上下文但是如果数据被卷起则不会受到影响第2行只要访问的所有月份都显示在列A和A列的顶行。 B匹配。
我猜测宏需要遍历JAN(E列)并完成该列,然后依次循环遍历G到P列。只需要操纵E到P列。如果数据在单元格中连接或仅被覆盖,我认为不会产生任何负面后果。宏完成后,某个站点上给定公司的第一行应包含访问它的所有月份的值。
我的编程知识有限,但如果我得到一个好样本,我通常可以对代码进行反向工程设计,以便对其进行修改。我希望我的要求是明确的。
答案 0 :(得分:0)
基于您的第一个初始问题“如果B2 = B3和A2 = A3”如何将L3复制到L2 ,这个基本的宏将让您开始沿着这些方向开始:
Option Explicit
Sub CopyUP()
Dim LR As Long, Rw As Long, col As Long
LR = Range("A" & Rows.Count).End(xlUp).Row 'last row with data
For Rw = LR To 2 Step -1 'from the bottom up, compare
If Range("A" & Rw) = Range("A" & Rw - 1) And _
Range("B" & Rw) = Range("B" & Rw - 1) Then
For col = 5 To 16 'columns E:P
If Cells(Rw, col) <> "" Then Cells(Rw - 1, col) = Cells(Rw, col)
Next col
End If
Next Rw
End Sub