如何让excel vba输入的数据为百分比

如题所述

m = (m + 1) Mod 7有问题。
当m=6时,(m + 1) Mod 7=0
Cells(j, m) 为Cells(j, 0)
我们知道行列号都是从1开始的,所以当然会报错。

另外For j = 1 To 20
然后又j = 2
并且For i = 0 To 8
然后又 i = 0
这不都是死循环了么?

Data什么意思?应该是Date吧。

而且整个程序逻辑混乱。帮你改写一下,你看能不能用:
Sub test()
m = Weekday(Now, 2)
For j = 1 To 20
For i = 0 To 6
Cells(j, (i + 1)) = Date - m + i + (j * 7) - 7
Next
Next
End Sub

还可以进一步改写:
Sub test()
m = Weekday(Now, 2)
For j = 1 To 20
For i = 0 To 6
If j = 1 And i < m Then
Cells(j, (i + 1)) = ""
Else
Cells(j, (i + 1)) = Date - m + i + (j * 7) - 7
End If
Next
Next
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-05

可否看懂,不知能否帮到你


第2个回答  2014-11-05
怎么叫百分比 我给你实现
相似回答