【发布时间】:2015-06-12 02:54:15
【问题描述】:
我对 VBA 很陌生。 runtime error 424 在我尝试设置 value1 = 时启动。似乎无法弄清楚这一点。我正在处理导入的数据。负数被导入,CR 后缀转到相邻列。我需要 excel 来识别 CR 并将其旁边的单元格设为负数,或者我现在尝试的是在第三列中返回负值。数据跳过行,所以我只需要翻译真正的负数,其他所有内容都应该返回空白。
我尝试使用 if 方程进行条件格式设置,效果很好,但是当转换为 VBA 时,相关单元格引用和公式很混乱,并且在格式更改的情况下用户不会随意使用,
包含代码的问题部分。
提前感谢任何可以提供帮助的人!
Application.ScreenUpdating = False
Sheet2.Range("A1:H9999").ClearContents
Dim vFileName
Dim MyWorkbook As Workbook
Dim NameColumn As Range
Dim value1 As Range
Dim value2 As Range
Dim value3 As Integer
vFileName = Application.GetOpenFilename("Text Files (*.txt),*.txt")
MyWorkbook.Activate
Application.DisplayAlerts = False
ActiveWindow.Close
Set value1 = Worksheet.Range("K113:K249")
Set value2 = Worksheet.Range("H113:H249")
Set NameColumn = Worksheet.Range("I113:I249")
If NameColumn.Value = "CR" Then
value1.Value = value1.Value * -1
ElseIf value2.Value = 0 Or "" Then
value1.Value = ""
Else: value1.Value = value1.Value
End If
【问题讨论】:
-
请注释掉
Application.ScreenUpdating = False。添加到您的工作代码中是一件很棒的事情 - 尝试调试无法运行的代码时会变得很困难。 -
ElseIf value2.Value = 0 Or "" Then看起来不对; VBA 会期待像ElseIf value2.Value = 0 Or value2.Value = "" Then... 这样的东西,但不知道这是否相关