ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1652|回复: 3

[求助] VBA 提示运行时错误'2110' 关闭后重新打开可以用

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-20 16:14 | 显示全部楼层 |阅读模式
本帖最后由 1588078/37 于 2019-6-20 16:45 编辑

运行时错误'2110'
"由于控件无法看到,尚未启用或其类型属于不接受焦点,因此无法将焦点移至该控件"

表用久了,可能会出现 000.jpg
偶尔出现
没附件,没得连接ERP数据库的没有数据
论坛上就看过11年有人问过
百度找不到同样问题 的
  1. Set dic = CreateObject("scripting.dictionary")
  2. Set d = CreateObject("scripting.dictionary")
  3. Set d1 = CreateObject("scripting.dictionary")
  4. Set d2 = CreateObject("scripting.dictionary")
  5. With Me.ListView2
  6.   If .ListItems.Count = 0 Then
  7.       MsgBox "未添加入库项"
  8.       Exit Sub
  9.       End If
  10.        If .ListItems.Count Then
  11.         col = .ColumnHeaders.Count - 1
  12.         ReDim arr(1 To .ListItems.Count, 1 To 5)
  13.         For i = 1 To .ListItems.Count
  14.          arr(i, 1) = .ListItems(i).SubItems(1)
  15.          arr(i, 2) = .ListItems(i).SubItems(2)
  16.          arr(i, 3) = .ListItems(i).SubItems(3)
  17.          arr(i, 4) = .ListItems(i).SubItems(4)
  18.       
  19.        Next
  20.       End If
  21.    End With
  22. Call OpenErp
  23. Sql = "select A2,A1,A5 ,A4  from (select CUS_OS_NO as A1,PRD_NO as A2,max(EST_DD) as A3,sum(QTY) as A4,Rem as A5 from (select t1.CUS_OS_NO as CUS_OS_NO,t1.PRD_NO as PRD_NO ,t1.EST_DD as EST_DD,t1.QTY-isnull(t1.QTY_PS,0)as QTY ,t1.Rem as Rem from TF_POS t1 left join MF_POS t2 on t1.OS_NO=t2.OS_NO where t1.OS_ID='SO' and CLS_ID<>'T' and t1.QTY-isnull(QTY_PS,0)-isnull(QTY_PRE,0)>0 AND t2.CUS_NO='11001' union all select t2.OS_NO as CUS_OS_NO,t2.PRD_NO as PRD_NO,'' as EST_DD ,(-1)*t2.QTY as QTY ,t2.HH_NO as Rem from MF_XH t1 left join TF_XH t2 on t1.XH_NO=t2.XH_NO where t1.SA_NO is null) x1  group by CUS_OS_NO,PRD_NO,Rem) t LEFT JOIN  PRDT tt on t.A2=tt.PRD_NO where t.A4>0 order by A3,A2,A1,A5"
  24. DBRst.Open Sql, ConnDB, adOpenKeyset, adLockOptimistic
  25. brr = DBRst.GetRows
  26. Call CloseErp
  27. For i = 0 To UBound(brr, 2)
  28. dic(brr(0, i)) = dic(brr(0, i)) + 1
  29.    d(brr(0, i) & "," & dic(brr(0, i))) = brr(1, i) & "," & brr(2, i)
  30.    d1(brr(0, i) & "," & dic(brr(0, i)) & "," & brr(1, i) & "," & brr(2, i)) = brr(3, i)

  31. Next


  32. For i = 1 To UBound(arr)
  33. If dic.exists(arr(i, 1)) Then
  34. x = 0
  35. kmm = 0
  36. For k = 1 To dic(arr(i, 1))

  37. kk = arr(i, 4) - kmm
  38. x = d1(arr(i, 1) & "," & k & "," & d(arr(i, 1) & "," & k))

  39.    If x > 0 Then
  40.      If kk <= x Then
  41.       arr(i, 5) = arr(i, 5) & "|" & d(arr(i, 1) & "," & k) & "," & kk
  42.       d1(arr(i, 1) & "," & k & "," & d(arr(i, 1) & "," & k)) = x - kk
  43.      Exit For
  44.       Else
  45.       arr(i, 5) = arr(i, 5) & "|" & d(arr(i, 1) & "," & k) & "," & d1(arr(i, 1) & "," & k & "," & d(arr(i, 1) & "," & k))
  46.       kmm = kmm + x
  47.       d1(arr(i, 1) & "," & k & "," & d(arr(i, 1) & "," & k)) = 0
  48.       End If
  49.    End If


  50. Next
  51. End If
  52. Next

  53. For i = 1 To UBound(arr)
  54. xo = 0
  55. If arr(i, 5) Like "*|*" Then
  56. pp = Split(arr(i, 5), "|")
  57. For ii = 1 To UBound(pp)
  58. xo = xo + Val(Split(pp(ii), ",")(2))

  59. Next
  60. If xo <> Val(arr(i, 4)) Then
  61. s = s & "," & arr(i, 1) & "订单不足:" & arr(i, 4) - xo
  62. End If
  63. Else
  64. s = s & "," & arr(i, 1) & "订单不足:" & arr(i, 4)
  65. End If
  66. Next
  67. If Len(s) Then
  68. MsgBox Mid(s, 2)
  69. Exit Sub
  70. End If

  71. dysl = 3
  72. ReDim crr(1 To 100, 1 To 7)
  73. For i = 1 To UBound(arr)
  74. pp = Split(arr(i, 5), "|")
  75. For ii = 1 To UBound(pp)
  76. m = m + 1
  77. crr(m, 1) = m
  78. crr(m, 3) = arr(i, 1)
  79. crr(m, 4) = arr(i, 2)
  80. If crr(m, 4) Like "*励磁*" Or crr(m, 4) Like "*未浸漆*" Then
  81. dysl = 4
  82. End If
  83. crr(m, 5) = arr(i, 3)
  84. crr(m, 2) = "*" & Split(pp(ii), ",")(0) & "/" & Split(pp(ii), ",")(1) & "*"
  85. crr(m, 6) = Split(pp(ii), ",")(2)
  86. crr(m, 7) = "*" & arr(i, 1) & "*"
  87. tt = tt + Val(crr(m, 6))
  88. Next
  89. crr(m + 1, 1) = "合计"
  90. crr(m + 1, 6) = tt
  91. Next

  92. Call OpenErp
  93. Sql = "select max(XH_NO) from MF_XH"
  94. DBRst.Open Sql, ConnDB, adOpenKeyset, adLockOptimistic
  95. If DBRst.EOF = True Then
  96. dh = Format(Now(), "yyyymmdd") & "001"
  97. Else
  98. arr = DBRst.GetRows
  99. Call CloseErp
  100. If IsNull(arr(0, 0)) Or Format(arr(0, 0), "00000000") < Format(Now(), "yyyymmdd") Then
  101. dh = Format(Now(), "yyyymmdd") & "001"
  102. Else
  103. dh = arr(0, 0) + 1
  104. End If
  105. End If
  106. tm = Now()
  107. Call OpenErp
  108. Sql = "select * from MF_XH"
  109. DBRst.Open Sql, ConnDB, adOpenKeyset, adLockOptimistic
  110. With DBRst
  111.     .AddNew
  112.     .Fields(0).Value = dh
  113.      .Fields(1).Value = tm
  114.     .Update
  115. End With
  116. Call CloseErp

  117. Call OpenErp
  118. Sql = "select * from TF_XH"
  119. DBRst.Open Sql, ConnDB, adOpenKeyset, adLockOptimistic
  120. With DBRst
  121. For i = 1 To m
  122.     .AddNew
  123.     .Fields(0).Value = dh
  124.      .Fields(1).Value = Split(Replace(crr(i, 2), "*", ""), "/")(0)
  125.       .Fields(2).Value = crr(i, 3)
  126.        .Fields(3).Value = crr(i, 6)
  127.         .Fields(4).Value = Split(Replace(crr(i, 2), "*", ""), "/")(1)
  128.     .Update
  129.   Next
  130. End With

  131. TextBox4.Text = dh
  132. CommandButton1.Visible = False
  133. CommandButton2.Visible = False
  134. CommandButton3.Visible = False
  135. CommandButton4.Visible = False
  136. CommandButton5.Visible = False
  137. CommandButton6.Visible = True
  138. TextBox1.Enabled = False
  139. TextBox3.Enabled = False

  140. With Sheet1
  141.    .[g2] = "SA19" & Format(Now(), "mm") & 0 & "_______"
  142. .[g3] = dh
  143. .[d3] = "单号:" & Format(tm, "yyyy/mm/dd hh:mm:ss")
  144. .Range("A5:Z1000").ClearContents
  145. .Cells.Borders.LineStyle = xlNone
  146. .[A5].Resize(m + 1, 7) = crr
  147. With .Range(.Cells(5, 1), .Cells(m + 4, 7))
  148. .Sort Key1:=.Range("c5"), Order1:=1
  149. End With
  150. For i = 5 To m + 4
  151. .Cells(i, 1) = i - 4
  152. Next
  153. m = IIf(m < 18, 18, m)
  154. With .Range(.Cells(3, 1), .Cells(m + 5, 7))
  155. .Borders.LineStyle = xlContinuous
  156. .BorderAround xlContinuous, xlMedium
  157. .HorizontalAlignment = xlCenter
  158. .VerticalAlignment = xlCenter
  159. End With
  160. Sheet1.PrintOut Copies:=dysl
  161. Exit Sub
  162. End With
复制代码


利莱森玛送货单.rar

114.55 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2019-6-20 16:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你想表达什么................

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-20 16:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
TextBox4.Text = dh
CommandButton1.Visible = False
CommandButton2.Visible = False
CommandButton3.Visible = False
CommandButton4.Visible = False
CommandButton5.Visible = False
CommandButton6.Visible = True
TextBox1.Enabled = False
TextBox3.Enabled = False
会不会 这个隐藏和显示控件的代码,要放到最后面

TA的精华主题

TA的得分主题

发表于 2021-3-28 09:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我刚遭遇这个问题
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 12:47 , Processed in 0.033936 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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