更新说明:
我处理大量包含借方和贷方的数据。一些借项和贷项需要匹配并突出显示(以便从列表中清除它们)。
我想要一个宏来帮助我完成此任务,即从头开始并逐行处理(我需要能够手动查看列表,以确保从必要到正确的方式进行排序)。从头到尾的工作)。以单元格N1为例: •如果N1为黄色,则什么也不做 •如果N1没有颜色格式,则将N1 + N2相加。如果N1 N2 = 0,则以黄色突出显示。 •如果N1 + N2不等于零,则不执行任何操作继续。 •如果N2为黄色,则什么也不做 •如果N2没有颜色格式,则求和N2 + N3。如果N2 + N3 = 0,则以黄色突出显示。 • 等等。 •我也希望该宏在数据集完成后停止,因为所有空行都将为零。不太确定如何运作?
我准备了一个非常简单的示例(随附),其中包含三个选项卡: 1.样本数据集 2.填充绝对值的数据集,从最小到最大排序 3.所需的最终结果。如您所见,在某些情况下没有偏移项,并且宏需要跳过。
再次感谢您的帮助! Sample
答案 0 :(得分:0)
我相信以下内容可以满足您的期望,它将从第1行到第N列的最后一个,并检查两行的总和是否等于0,以及是否已经用黄色突出显示,然后如果为true,则会将单元格格式设置为黄色:
Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
'declare and set your worksheet, amend as required
LastRow = ws.Cells(ws.Rows.Count, "N").End(xlUp).Row
'get the last row with data on Column N
For i = 1 To LastRow Step 2 'loop through Column N and calculate Sum every two rows
If ws.Cells(i, "N").Value + ws.Cells(i + 1, "N").Value = 0 And ws.Cells(i, "N").Interior.Color <> vbYellow And ws.Cells(i + 1, "N").Interior.Color <> vbYellow Then
ws.Cells(i, "N").Interior.Color = vbYellow
ws.Cells(i + 1, "N").Interior.Color = vbYellow
End If
Next i
End Sub
答案 1 :(得分:0)
如果您希望它与任意两个数字匹配,而无论它们在列表中的位置如何,但每列中的每个数字仅匹配一次-即完全对帐,则将需要以下内容:
onClick={this.handleClick}