[英]VBA run time error 424
我是VBA的新手。 當我嘗試設置value1 =
runtime error 424
開始。 似乎不太可能弄清楚這一點。 我正在處理導入的數據。 負數將導入,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
除了ActiveWindow.Close的問題之外,我看不到您在哪里為Worksheet賦予了任何價值。
我將刪除ActiveWindow.Close(該怎么辦?),並通過ActiveSheet.Range替換Worksheet.Range的出現。
您已經關閉了窗口
ActiveWindow.Close
然后,您嘗試將范圍變量set
為現在關閉的工作簿中的某些內容。
刪除該行和/或將其移至代碼末尾。
正如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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.