【发布时间】:2016-09-16 01:55:20
【问题描述】:
我是 Robert,我是 VBA 新手,我有以下任务要执行: 我有 2 行中的一系列数字。如果上排的数字小于 1.3,则应替换下排的相应值。
如果需要的话,数字应该两两比较和替换,这意味着如果上限值小于1.3,则上排的值应该替换下排的值n。
如果没有,则保留下一行中的值并继续前进。
我必须在 VBA 中编写一个代码来自动执行此检查。
你见过/用 VBA 写过这样的代码吗?
非常感谢您的宝贵时间!
这是我到目前为止所做的:
Dim i As Integer
Dim j As Integer
For i = 1 To 12
If Cells(60, 8 + i) < 1.3 Then
Cells(60, 8 + i).Select
Selection.Copy
Cells(61, 8 + i).Select
Selection.PasteSpecialext Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If Cells(60, 8 + i) > 1.3 Then
For j = 1 To 10
Cells(60, 8 + i).Select
Selection.Copy
Cells(61, 8 + i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If Cells(60, 8 + i) < 1.3 Then
Cells(60, 8 + i).Select
Selection.Copy
Cells(61, 8 + i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i
If Cells(60, 8 + i) = Cells(61, 8 + i) Then Next i
Else
Cells(60, 8 + i).Select
Selection.Copy
Cells(61, 8 + i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If Cells(60, 8 + i) < 1.3 Then
Cells(60, 8 + i).Select
Selection.Copy
Cells(61, 8 + i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next j
Next i
Next i
End Sub
【问题讨论】:
-
到目前为止你尝试了什么?有什么努力吗?
-
是的,如果你想看代码,我可以给你excel文件!谢谢!
-
您应该在问题中包含您当前的尝试。也可以观看stackoverflow.com/help/how-to-ask
-
好的,我会发布我目前所做的,谢谢你的建议!
-
我上传了我的代码,但请不要忘记我是 VBA 新手!