我需要做以下两件事:
1)删除当前实体名称等于的所有行 认购信用额度 其他资产 净其他资产 负债 现金和现金等价物。
2)将“#UP#”附加到当前实体名称的所有剩余记录中。 (即如果当前实体名称= St Georges医院,在运行宏之后,最终应该是#UP#St Georges医院)。
当前实体位于D列。
我有以下代码:
Sub Test()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim CurrentEntityColumn As Integer
Dim POColumn As Integer
Dim DomColumn As Integer
Dim i As Long
MsgBox ("Select Investment Analysis_Before")
Sourcefile = Application.GetOpenFilename()
Workbooks.Open (Sourcefile)
CurrentEntityColumn = Cells(Rows.Count, "D").End(xlUp).Row
For i = 1 To CurrentEntityColumn
If Cells(i, "D").Value = "Subscription Line of Credit" Or Cells(i, "D").Value = "Other Assets" Then
Cells(i, "D").EntireRow.Delete
End If
Next i
End Sub
然而,代码似乎没有工作,因为它只删除我在the或参数中放在最后的内容。在这种情况下,它只删除列D包含“其他资产”的行。订阅信用额度不会被删除。
我还发现只有在使用wholerow.delete时才会出现此错误。如果单元格包含“订阅信用额度”,我尝试使用更改字体颜色,它工作正常。
任何人都可以告诉我,我做错了什么,还有完成任务2的任何想法?感谢
答案 0 :(得分:0)
怎么样:
If Cells(i, "D").Value = "Subscription Line of Credit" Then
Cells(i, "D").EntireRow.Delete
ElseIf Cells(i, "D").Value = "Other Assets" Then
Cells(i, "D").EntireRow.Delete
Else
Cells(i, "D").Value = "#UP#" & Cells(i, "D").Value
End If