我一直在使用下面的VBA程序,但我想将其从搜索一个数字更改为在单元格C17中输入的一组数字(请参阅下面的注释)。该程序可以用于此目的吗?想知道是否有人可以看看并提供任何反馈。
Sub do_it()
n = [C17]
For Each cell In Range("B30,E30,H30,K30,N30")
If cell.Value = n And Range(cell.Address).Offset(0, 1) = "1-1" Then
MsgBox "Found a postivive result in " & cell.Address
End If
Next
End Sub
1)我需要程序搜索单元格B30,E30,H30,K30,N30中最后一个数字为15的任何数字对,请参阅单元格B30(8-15)。如果没有肯定的结果,则程序结束。
如果发现15,则必须发生两件事:
1-在此示例中,相邻单元格C30(2.22)中的值必须除以10(四舍五入),并将每个值移至以下单元格:A35,D35,G35,J35,M35,Q35, A39,D39,G39,J39,M39,O39。唯一的问题是分摊的金额不能超过10.00。程序将除以10.00,但是通过引用单元格B30(8)中的第一个数字将移动该数字上的所有内容,并搜索以下10个可能的单元格:A35,D35,G35,J35,M35,Q35,A39,D39,G39 ,J39,M39,O39在此示例中找到8,然后在单元格D39中找到它,然后将剩余的数字(如果有的话)添加到单元格D40中的任何数字(注意:我的Excel电子表格中有错误例如,单元格D40不应为2.22)。
此操作之后,单元格C30中没有内容。
2-获得15个阳性结果后,我还需要程序在以下5个单元格中引用以下数字:
单元格B30将转到单元格B32,因此参考号为1
单元格E30将转到单元格E32,因此参考号为2
单元格H30将转到单元格H32,因此参考号为3
单元格K30将转到单元格K32,因此参考号为4
单元格N30将进入单元格N32,因此参考号为5
使用示例B30,参考数字为1,因此程序将在D1:D12列的范围内搜索数字1,然后将数字集移动到该位置并增加最后一位数字,因此它的单元格编号将变为8-16 E1。完成此操作后,单元格B30中将没有内容。