【发布时间】:2014-11-21 19:12:07
【问题描述】:
我有一个表格,其中包含访问、已完成的应用程序和批准,每行作为邮政编码,我正在尝试将表格转换为每行是访问的表格。由于我在 Excel 中,我试图在 VBA 中编写一个宏来执行此操作,但这给了我一些不准确的地方。这是我的桌子:
Zip Visits Applications Approvals
75229 3 2 1
|
|
v
Zip Visits Applications Approvals
75229 1 0 0
75229 1 1 0
75229 1 1 1
这是我的宏:
Sub TestMacro1()
Dim n As Integer
Dim i As Integer
Dim StartCell As Range
Dim PrintCell As Range
For n = 0 To 5000
Set StartCell = Range("A2").Offset(n, 0)
Set PrintCell = Range("F10000").End(xlUp)
For i = 1 To StartCell.Offset(0, 1).Value
PrintCell.Offset(i, 0) = StartCell.Value
PrintCell.Offset(i, 1) = 1
If i <= StartCell.Offset(0, 2).Value Then
PrintCell.Offset(i, 2) = 1
Else
PrintCell.Offset(i, 2) = 0
End If
If i <= StartCell.Offset(0, 3).Value Then
PrintCell.Offset(i, 3) = 1
Else
PrintCell.Offset(i, 3) = 0
End If
Next i
Next n
End Sub
总共有 4244 次访问、3508 行、815 个已完成的申请和 58 个批准,但是当我运行宏时,我得到了 4244 次访问、770 个已完成的申请和 55 个批准。知道这是为什么吗?
【问题讨论】:
-
申请或批准的数量是否会超过访问次数?这是差异的一种解释
-
@DyRuss 确实如此,已完成的应用程序比访问次数多 39 倍,非常感谢您的帮助
-
@Mike 在下面查看我的代码以回答...