无法为当前单元格值加1

时间:2019-06-18 13:47:38

标签: excel vba

我无法超越。我正在尝试将自动编号添加到A列,但是由于某些原因,我无法在该值上添加1。我不确定为什么,也许还有更简单的解决方法?

所有模块代码:

 Dim rng As Range
 Set rng = Cells.Find(what:="*", after:=Cells(2), 
 searchdirection:=xlPrevious, searchorder:=xlByColumns)

 b = rng.Offset(0, 0).Address
 a = rng.Offset(1, 0).Address
 s = ActiveCell.Offset(-1, -1).Address

 With Range(s, ActiveCell.Offset(-1, 11).Address).Borders(xlEdgeBottom)
     .LineStyle = xlContinous
     .Weight = xlThin
End With

Worksheets("Fakturos").Range(a, s).Merge

这就是我被困住的地方:

If (Range(b).Value <> " ") Then
 'Range(a).Value + 1
Else
  Range(b).Value = 1
End If

2 个答案:

答案 0 :(得分:4)

应该是

  Range(a).Value = Range(a).Value + 1

但是如果字段中不是数字,它将表现得很奇怪。

答案 1 :(得分:0)

If (Range(b).Value <> " ")将值与一个字符串进行比较,该字符串恰好是一个空白空间。可能应该与非空字符串进行比较,如下所示:

If (Trim(Range(b))>0) Then
    Range(a).Value = Range(a).Value + 1
Else
    Range(b).Value = 1
End If

或者实际上您可以考虑将Range(b)的值传递给数字变量,并比较其是否不同于0:

Dim bValue As Double
bValue = Range(b)

If bValue <> 0 Then
   Range(a).Value = Range(a).Value + 1
Else
   Range(b).Value =  1
End If