如何围绕此代码包装If语句?

时间:2014-04-22 10:31:13

标签: excel vba excel-vba excel-2007

我得到了这个项目的工作,我有点难过。我们有一个例程由一个快捷方式宏驱动,它将数据从A列移动到F列,从而开始构建一个列表列表中的逐项列表。

然而,我需要将当前操作包装在IF语句中,以便如果G5(或RC)中的数据等于A4中的单元格值,则操作不会将数据移动到新单元格(或者,RC-1)。如果我可以降低逻辑,我可以让操作按预期工作。

使用宏录制器创建宏,但这里是代码:

Sub InsertTagLine()

    Selection.Insert Shift:=xlDown
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.Copy
    ActiveCell.Offset(-1, 4).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(0, 1).Range("A1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=""TAG: ""&RC[-1]"
    ActiveCell.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveCell.Offset(0, -1).Range("A1").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    ActiveCell.Offset(0, -3).Range("A1").Select
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+1"
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+1"
    ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
End Sub

1 个答案:

答案 0 :(得分:1)

您是否需要更复杂的事情而不是将所有代码包装在if语句中?

If (Range("G5").Value <> Range("A4").Value) Then
  'Your code
End If