Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4090|回复: 5

[已解决]怎样把一个“sheets表”上的几个表格中的数据汇总到另一个"sheets"

[复制链接]
发表于 2012-7-23 10:02 | 显示全部楼层 |阅读模式
Sub 汇总()
With Sheets("开票流水明细")
For i = 6 To 3000
For er = 6 To 3000
If Sheets("运费流水").Cells(i, 3) <> "" Then
For j = 9 To 3000
Cells(j, 6) = Sheets("运费流水").Cells(i, 3) '日期
Cells(j, 5) = Sheets("运费流水").Cells(i, 5) '车牌
Cells(j, 3) = Sheets("运费流水").Cells(i, 6) '姓名
Cells(j, 8) = Sheets("运费流水").Cells(i, 7) '车数
j = j + 1
ElseIf Sheets("运费流水").Cells(i, 9) <> "" Then
For k = j + 1 To 3000
Cells(k, 6) = Sheets("运费流水").Cells(er, 9) '日期
Cells(k, 5) = Sheets("运费流水").Cells(er, 11) '车牌
Cells(k, 3) = Sheets("运费流水").Cells(er, 12) '姓名
Cells(k, 8) = Sheets("运费流水").Cells(er, 13) '车数

k = k + 1

Else
MsgBox "汇总完成!", 64, "倒短工具"
End If
Next er
Next i
End With
End Sub

最佳答案
2012-7-23 18:32
yunsin1015 发表于 2012-7-23 10:04
补充:我试着编了代码,可是运行时显示(else没有if)请高手检查下是什么地方错误?
  1. Sub 汇总()
  2.     With Sheets("开票流水明细")
  3.         For i = 6 To 3000
  4.             For er = 6 To 3000
  5.                 If Sheets("运费流水").Cells(i, 3) <> "" Then
  6.                     For j = 9 To 3000
  7.                         Cells(j, 6) = Sheets("运费流水").Cells(i, 3)    '日期
  8.                         Cells(j, 5) = Sheets("运费流水").Cells(i, 5)    '车牌
  9.                         Cells(j, 3) = Sheets("运费流水").Cells(i, 6)    '姓名
  10.                         Cells(j, 8) = Sheets("运费流水").Cells(i, 7)    '车数
  11.                     Next j
  12.                 ElseIf Sheets("运费流水").Cells(i, 9) <> "" Then
  13.                     For k = j + 1 To 3000
  14.                         Cells(k, 6) = Sheets("运费流水").Cells(er, 9)    '日期
  15.                         Cells(k, 5) = Sheets("运费流水").Cells(er, 11)    '车牌
  16.                         Cells(k, 3) = Sheets("运费流水").Cells(er, 12)    '姓名
  17.                         Cells(k, 8) = Sheets("运费流水").Cells(er, 13)    '车数
  18.                     Next k
  19.                 Else
  20.                     MsgBox "汇总完成!", 64, "倒短工具"
  21.                 End If
  22.             Next er
  23.         Next i
  24.     End With
  25. End Sub
复制代码

相关帖子

 楼主| 发表于 2012-7-23 10:04 | 显示全部楼层
补充:我试着编了代码,可是运行时显示(else没有if)请高手检查下是什么地方错误?
回复

使用道具 举报

发表于 2012-7-23 18:32 | 显示全部楼层    本楼为最佳答案   
yunsin1015 发表于 2012-7-23 10:04
补充:我试着编了代码,可是运行时显示(else没有if)请高手检查下是什么地方错误?
  1. Sub 汇总()
  2.     With Sheets("开票流水明细")
  3.         For i = 6 To 3000
  4.             For er = 6 To 3000
  5.                 If Sheets("运费流水").Cells(i, 3) <> "" Then
  6.                     For j = 9 To 3000
  7.                         Cells(j, 6) = Sheets("运费流水").Cells(i, 3)    '日期
  8.                         Cells(j, 5) = Sheets("运费流水").Cells(i, 5)    '车牌
  9.                         Cells(j, 3) = Sheets("运费流水").Cells(i, 6)    '姓名
  10.                         Cells(j, 8) = Sheets("运费流水").Cells(i, 7)    '车数
  11.                     Next j
  12.                 ElseIf Sheets("运费流水").Cells(i, 9) <> "" Then
  13.                     For k = j + 1 To 3000
  14.                         Cells(k, 6) = Sheets("运费流水").Cells(er, 9)    '日期
  15.                         Cells(k, 5) = Sheets("运费流水").Cells(er, 11)    '车牌
  16.                         Cells(k, 3) = Sheets("运费流水").Cells(er, 12)    '姓名
  17.                         Cells(k, 8) = Sheets("运费流水").Cells(er, 13)    '车数
  18.                     Next k
  19.                 Else
  20.                     MsgBox "汇总完成!", 64, "倒短工具"
  21.                 End If
  22.             Next er
  23.         Next i
  24.     End With
  25. End Sub
复制代码
回复

使用道具 举报

发表于 2012-7-23 18:43 | 显示全部楼层
把k=k+1和 j=j+1改为next k 和next j
回复

使用道具 举报

发表于 2012-7-23 19:10 | 显示全部楼层
附件很重要,

For j = 9 To 3000  后面没有 next
For j = 9 To 3000  后面也没有 next

回复

使用道具 举报

发表于 2012-7-27 11:41 | 显示全部楼层
别人的辛劳我们学到了,是一定要顶一个的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-4 22:28 , Processed in 0.468880 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表