我无法超越。我正在尝试将自动编号添加到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
答案 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