VBA运行时错误424

我对VBA很新。 runtime error 424开始时,我尝试设置value1 = 。 看起来似乎不太可能。 我正在处理导入的数据。 负号是用CR后缀导入到相邻列的。 我需要excel来识别CR,并使其旁边的单元格为负,或者我现在尝试的是将第三列中的负值返回。 数据跳过行,所以我只需要真正的负数来翻译一切应该返回一个空白。

我已经尝试使用条件格式,如果方程运行良好,但是当转换为VBA相对单元格引用和公式是凌乱的,而不是用户freindily格式更改的情况下,

包括代码的问题部分。

提前感谢任何人可以帮助!

  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 

除了ActiveWindow.Close的问题之外,我没有看到你给了Worksheet的任何值。

我会删除ActiveWindow.Close(这是应该做什么?),并replaceWorksheet.Range的出现ActiveSheet.Range

你已经closures了窗口

 ActiveWindow.Close 

然后,您正尝试在现已closures的工作簿中set一个范围variables。

删除该行并/或将其移动到代码的末尾。

正如LittleBobbyTables指出的那样:

 ElseIf value2.Value = 0 Or "" Then 

无效。 用这个:

 ElseIf value2.Value = 0 Or value2.Value = "" Then 

 Else: value1.Value = value1.Value 

Else之后摆脱冒号

 Else value1.Value = value1.Value