我正在处理银行对帐工作表,美国运通每天都会收取信用卡手续费。在我们的工作表上,我们假设每天的成本为3.1%,因此如果AX的总收入为100美元,那么我们预期为96.9美元。存入的实际金额将与该金额不同,但几乎不超过1%。我试图创建一个代码,该代码将寻找96.9 * 1.01&之间的值。 96.9& 99.这是我到目前为止所做的。我在.find中放入了一个错误(what:> findstring3&
Sub CreditCardRec()
For i = 1 To 200
Windows("4110 Bank Rec 112100.xlsm").Activate
findstring = Sheets("button").Cells(i, 30).Value
If Trim(findstring) <> "" Then
findstring2 = findstring * 1.01
findstring3 = findstring * 0.99
With Sheets("Amex").Range("N:N")
Set rng = .Find(what:>findstring3 & <findstring2, _
LookIn:=xlValues, _
lookat:=xlWhole, _
searchorder:=xlByRows, _
searchdirection:=xlNext, _
MatchCase:=False)
If Not rng Is Nothing Then
Application.Goto rng, True
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = findstring
End If
End With
End If
Next i
答案 0 :(得分:0)
我希望你能找到的是:
CODE:
Sub test()
For i = 1 To 200
Windows("4110 Bank Rec 112100.xlsm").Activate
findstring = Sheets("button").Cells(i, 30).Value
If Trim(findstring) <> "" Then
findstring2 = findstring * 1.01
findstring3 = findstring * 0.99
With Sheets("Amex")
Set Rng = Sheets("Amex").Range("N" & i)
If Rng > findstring3 And Rng < findstring2 Then
Application.Goto Rng, True
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = findstring
End If
End With
End If
Next i
End Sub
答案 1 :(得分:0)
感谢您的帮助,我最终将其更改为以下代码,似乎完美无缺。视窗(文件2).Activate findstring = Sheets(“button”)。Cells(i,30).Value 如果修剪(findstring)&lt;&gt; ““ 然后 对于j = 12到49 findstring2 = findstring * 1.01 findstring3 = findstring * 0.99 findstring4 = Sheets(“Amex”)。Cells(j,16).Value findstring5 = Sheets(“Amex”)。Cells(j + 1,16).Value findstring6 = Sheets(“Amex”)。Cells(j + 2,16).Value findstring7 = Sheets(“Amex”)。Cells(j,16).Value + Sheets(“Amex”)。Cells(j + 1,16).Value findstring8 = Sheets(“Amex”)。Cells(j,16).Value + Sheets(“Amex”)。Cells(j + 1,16).Value + Sheets(“Amex”)。Cells(j + 2,16) )。值 如果findstring4&gt; 100然后 如果findstring4&lt; findstring2和findstring4&gt; findstring3然后 表格(“Amex”)。单元格(j,15).Value = findstring 退出 万一 如果findstring5&lt;&gt; “”和findstring5&gt; 100然后 如果findstring7&lt; findstring2和findstring7&gt; findstring3然后 表格(“Amex”)。单元格(j,15).Value = findstring 退出 万一 如果findstring6&lt;&gt; “”和findstring6&gt; 100然后 如果findstring8&lt; findstring2和findstring8&gt; findstring3然后 表格(“Amex”)。单元格(j,15).Value = findstring 退出 万一 万一 结束如果
End If
Next j
End If
Next i