我更新了我的帖子和程序,并解决了所有操作员错误。该过程现在按预期工作了一半,而不是将值放在 E 列中,而是将它们放在 J 列。如果我从 E 列更改为 B 列,那么它将值放在 G 上。所以问题是不知何故正在转移我的值从我需要的列到右边的 6 列。
这是我的整个代码。
Dim xlWB As Excel.Workbook = CType(Globals.ThisWorkbook.Application.ActiveWorkbook, Excel.Workbook)
Dim xlWSPosition As Excel.Worksheet = CType(CType(xlWB.Sheets("byPosition"), Excel.Worksheet), Excel.Worksheet)
With xlWSPosition
.Application.ScreenUpdating = False
'.Columns("E").Insert(Excel.XlDirection.xlDown)
'.Range("E1").Value = "Exemption"
'.Cells.EntireColumn.AutoFit()
Dim colValue As Excel.Range
Dim lngLr As Long
lngLr = .Range("E" & .Rows.Count).End(Excel.XlDirection.xlUp).Row
.Application.ScreenUpdating = True
For Each colValue In .Range("F2:F" & .Range("F" & xlWSPosition.Rows.Count).End(XlDirection.xlUp).Row)
If colValue.Value > 0 Then
colValue.Cells.Range("E2:E" & lngLr).Value = "N"
Else
colValue.Cells.Range("E2:E" & lngLr).Value = "Y"
End If
Next colValue
End With
End Sub
正如您在屏幕截图中看到的那样,N 值进入 J 列而不是 E 列,而且,当查找 >0 时,它似乎又向下移动了一行
应该是这样的: