[英]VBA excel runtime error 13 type mismatch
我是vba的新手,我似乎無法修復此錯誤。 在線獲取類型不匹配。 如果NameColumn.Value =“ CR”,則
我覺得我已經接近了,但是看不到問題所在。 張貼完整的代碼,希望有人會看到我的錯誤! 謝謝您的幫助
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")
Workbooks.OpenText Filename:=vFileName, _
Origin:=437, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(8, _
1), Array(15, 1), Array(51, 1), Array(57, 1), Array(75, 1), Array(88, 1), Array(112, 1), _
Array(126, 1)), TrailingMinusNumbers:=True
Set MyWorkbook = ActiveWorkbook
Columns("A:I").Select
Selection.Copy
Windows("Book1.xlsm").Activate
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
MyWorkbook.Activate
Application.DisplayAlerts = False
ActiveWindow.Close
Set value1 = ActiveSheet.Range("K113:K249")
Set value2 = ActiveSheet.Range("H113:H249")
Set NameColumn = ActiveSheet.Range("I113:I249")
If NameColumn.Value = "CR" Then
value1.Value = value1.Value * -1
ElseIf value2.Value = 0 Or value2.Value = "" Then
value1.Value = ""
Else: value1.Value = value1.Value
End If
Range("L1").Formula = "=Sum(H113:H249)"
MyWorkbook.Range("L1").Value = value3
MsgBox "Yes. Offset to zero" & value3
Application.ScreenUpdating = True
End Sub
您正在嘗試評估一個單元格范圍的值,而不是一個單元格的值。 嘗試-
Set NameColumn = ActiveSheet.Range("I113:I249")
For each c in NameColumn
If c.Value = "CR" Then
value1.Value = value1.Value * -1
ElseIf value2.Value = 0 Or value2.Value = "" Then
value1.Value = ""
Else: value1.Value = value1.Value
End If
Next
您可能需要弄清楚if
之后每個c
應該做什么。
我認為,由於value1是k列,value2是H列,因此您可以將它們作為I列的偏移量進行處理-
Set NameColumn = ActiveSheet.Range("I113:I249")
For each c in NameColumn
If c.Value = "CR" Then
c.offset(,2) = c.offset(,2) * -1
ElseIf c.offset(,-1) = 0 Or c.offset(,-1) = "" Then
c.offset(,2) = ""
Else: c.offset(,2) = c.offset(,2)
End If
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.