Excel精英培训网

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

[已解决]请帮我看看那里出错了,出库记录只能生成一条。

[复制链接]
匿名  发表于 2014-7-22 22:38 |阅读模式
Sub 按钮2_单击()
Sheets("出库单").Select
If IsEmpty(Range("a9")) Then
    Exit Sub
End If
x = 2
Do While Not (IsEmpty(Sheets("出库记录").Cells(x, 1).Value))
    x = x + 1
Loop
y = x
If y = 2 Then
   If Range("K3") <> 1 Then
      MsgBox "出库单ID错误"
      Exit Sub
   End If
Else
  If Range("K3") <> Sheets("出库记录").Cells(y - 1, 1) + 1 Then
      MsgBox "出库单ID重复或错误"
      Exit Sub
  End If
End If
Z = 9
Do While Not IsEmpty(Cells(Z, 1).Value)
     Z = Z + 1
Loop
For times = 1 To Z - 9
    Sheets("出库记录").Cells(x - 1 + times, 1) = Range("K3")
    Sheets("出库记录").Cells(x - 1 + times, 2) = Range("F2")
    Sheets("出库记录").Cells(x - 1 + times, 3) = Range("J2")
    Sheets("出库记录").Cells(x - 1 + times, 4) = Range("B9")
    Sheets("出库记录").Cells(x - 1 + times, 5) = Range("C9")
    Sheets("出库记录").Cells(x - 1 + times, 6) = Range("D9")
    Sheets("出库记录").Cells(x - 1 + times, 7) = Range("E9")
    Sheets("出库记录").Cells(x - 1 + times, 8) = Range("F9")
    Sheets("出库记录").Cells(x - 1 + times, 9) = Range("G9")
    Sheets("出库记录").Cells(x - 1 + times, 10) = Range("H9")
    Sheets("出库记录").Cells(x - 1 + times, 11) = Range("I9")
    Sheets("出库记录").Cells(x - 1 + times, 12) = Range("J9")
    Sheets("出库记录").Cells(x - 1 + times, 13) = Range("K9")
    Sheets("出库记录").Cells(x - 1 + times, 15) = Range("L9")
    Sheets("出库记录").Cells(x - 1 + times, 17) = Range("M9")
    Sheets("出库记录").Cells(x - 1 + times, 18) = Range("N9")
    For tm = 17 To 20
        Sheets("出库记录").Cells(x - 1 + times, tm) = Cells(8 + times, tm - 11)
    Next tm
Next times
Range("B2,B3,J2,B9:C13,E9:E13,J9:J13,M9:N13").Select
Selection.ClearContents
v = Range("K3") + 1
Range("K3") = v
Range("B2").Select
End Sub


请各位大神,帮我看看 那出错了。出库记录,只能重复记录第一条数。
最佳答案
2014-7-23 09:07
工作簿1.rar (23.23 KB, 下载次数: 20)

工作簿1.rar

32.74 KB, 下载次数: 159

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-7-22 23:30 | 显示全部楼层
Sheets("出库记录").Cells(x - 1 + times, 4) = Range("B9")你这个前面在变量后面Range("B9")也要变量的Range("C" & times + 8)
回复

使用道具 举报

匿名  发表于 2014-7-22 23:38
gdw831001 发表于 2014-7-22 23:30
Sheets("出库记录").Cells(x - 1 + times, 4) = Range("B9")你这个前面在变量后面Range("B9")也要变量的Ran ...

你能帮我 重写一条完整来看看,3Q
回复

使用道具

发表于 2014-7-22 23:52 | 显示全部楼层
本帖最后由 gdw831001 于 2014-7-22 23:59 编辑
  1. <div class="blockcode"><blockquote>Sub 按钮2_单击()
  2. Sheets("出库单").Select
  3. 'If IsEmpty(Range("a9")) Then
  4.   '  Exit Sub
  5. 'End If
  6. x = 2
  7. Do While Not (IsEmpty(Sheets("出库记录").Cells(x, 1).Value))
  8.     x = x + 1
  9. Loop
  10. 'y = x
  11. 'If y = 2 Then
  12. '  If Range("K3") <> 1 Then
  13. '      MsgBox "出库单ID错误"
  14. '      Exit Sub
  15. '   End If
  16. 'Else
  17. '  If Range("K3") <> Sheets("出库记录").Cells(y - 1, 1) + 1 Then
  18. '     MsgBox "出库单ID重复或错误"
  19. '     Exit Sub
  20. '  End If
  21. 'End If
  22. Z = 9
  23. Do While Not IsEmpty(Cells(Z, 2).Value)
  24.      Z = Z + 1
  25. Loop

  26. For times = 1 To Z - 9
  27.     Sheets("出库记录").Cells(x - 1 + times, 1) = Range("K3")
  28.     Sheets("出库记录").Cells(x - 1 + times, 2) = Range("F2")
  29.     Sheets("出库记录").Cells(x - 1 + times, 3) = Range("J2")
  30.     Sheets("出库记录").Cells(x - 1 + times, 4) = Range("B" & times + 8)
  31.     Sheets("出库记录").Cells(x - 1 + times, 5) = Range("C" & times + 8)
  32.     Sheets("出库记录").Cells(x - 1 + times, 6) = Range("D" & times + 8)
  33.     Sheets("出库记录").Cells(x - 1 + times, 7) = Range("E" & times + 8)
  34.     Sheets("出库记录").Cells(x - 1 + times, 8) = Range("F" & times + 8)
  35.     Sheets("出库记录").Cells(x - 1 + times, 9) = Range("G" & times + 8)
  36.     Sheets("出库记录").Cells(x - 1 + times, 10) = Range("H" & times + 8)
  37.     Sheets("出库记录").Cells(x - 1 + times, 11) = Range("I" & times + 8)
  38.     Sheets("出库记录").Cells(x - 1 + times, 12) = Range("J" & times + 8)
  39.     Sheets("出库记录").Cells(x - 1 + times, 13) = Range("K" & times + 8)
  40.     Sheets("出库记录").Cells(x - 1 + times, 15) = Range("L" & times + 8)
  41.     Sheets("出库记录").Cells(x - 1 + times, 17) = Range("M" & times + 8)
  42.     Sheets("出库记录").Cells(x - 1 + times, 18) = Range("N" & times + 8)
  43.     For tm = 17 To 20
  44.         Sheets("出库记录").Cells(x - 1 + times, tm) = Cells(8 + times, tm - 11)
  45.     Next tm
  46. Next times
  47. Range("B2,B3,J2,B9:C13,E9:E13,J9:J13,M9:N13").Select
  48. Selection.ClearContents
  49. v = Range("K3") + 1
  50. Range("K3") = v
  51. Range("B2").Select
  52. End Sub
复制代码
改了中间哪几句,其他判断的,被我注释掉的如果有问题自己改了
回复

使用道具 举报

匿名  发表于 2014-7-23 00:10
gdw831001 发表于 2014-7-22 23:52
改了中间哪几句,其他判断的,被我注释掉的如果有问题自己改了

好的谢谢 我来改改看。
回复

使用道具

匿名  发表于 2014-7-23 00:22
QQ_11E1DB 发表于 2014-7-23 00:10
好的谢谢 我来改改看。

我按你的来改了,但只能记录,前三条。后二条记录不了。
回复

使用道具

发表于 2014-7-23 09:07 | 显示全部楼层    本楼为最佳答案   
工作簿1.rar (23.23 KB, 下载次数: 20)
回复

使用道具 举报

匿名  发表于 2014-7-23 10:05
zjdh 发表于 2014-7-23 09:07

3Q谢谢大神的 帮助
回复

使用道具

匿名  发表于 2014-7-23 11:45
zjdh 发表于 2014-7-23 09:07

大神,怎么设保护工作表时,又能运行宏。就是 那个 记录 扭。保护工作 就安不了。
回复

使用道具

发表于 2014-7-23 12:38 | 显示全部楼层
zjdh 发表于 2014-7-23 09:07

怎么样设置保护公式,又可以 运行宏。就是发给我那表 你怎么设保护工作表,又可以运行宏 记录 。
223.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 19:03 , Processed in 0.657135 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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