Excel精英培训网

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

[已解决]程序定义出错

[复制链接]
发表于 2013-4-22 01:12 | 显示全部楼层 |阅读模式
调试userform2时出现的,不知道怎么修改,求好心人帮助
最佳答案
2013-4-22 08:41
窗体3的代码给你改了下。
  1. Dim name As String
  2. Dim mrow As Integer


  3. Private Sub ComboBox1_Click()
  4.     On Error Resume Next
  5.     mrow = 0
  6.     Me.Label4.Caption = ""
  7.     name = ComboBox1.Value
  8.     Worksheets(1).Activate
  9.     If VBA.IsNumeric(name) Then
  10.         mrow = Range("F:F").Find(what:=CInt(name), lookat:=xlWhole).Row
  11.     Else
  12.         mrow = Range("F:F").Find(what:=name, lookat:=xlWhole).Row
  13.     End If
  14.     If mrow > 0 Then Label4.Caption = Cells(mrow, 3)
  15. End Sub
  16. Private Sub CommandButton1_Click()
  17.     Worksheets(1).Activate
  18.     Application.ScreenUpdating = False
  19.     Range("C" & mrow & ":h" & mrow).Delete Shift:=xlUp
  20. '    Range("D" & mrow).Delete Shift:=xlUp
  21. '    Range("E" & mrow).Delete Shift:=xlUp
  22. '    Range("F" & mrow).Delete Shift:=xlUp
  23. '    Range("G" & mrow).Delete Shift:=xlUp
  24. '    Range("H" & mrow).Delete Shift:=xlUp
  25.     Application.ScreenUpdating = True
  26. End Sub
复制代码

作业 (自动保存的).rar

42.22 KB, 下载次数: 9

发表于 2013-4-22 07:18 | 显示全部楼层
本帖最后由 hwc2ycy 于 2013-4-22 07:21 编辑

Private Sub ComboBox1_Click()
    Public name As String
    Public mrow As Integer

        
    name = ComboBox1.Value
    Worksheets(1).Activate
    mrow = Range("F:F").Find(name).Row
    Label4.Caption = Cells(mrow, 3)
End Sub

PUBLIC语句不能出现在过程内,只能在模块顶部定义。
回复

使用道具 举报

发表于 2013-4-22 08:41 | 显示全部楼层    本楼为最佳答案   
窗体3的代码给你改了下。
  1. Dim name As String
  2. Dim mrow As Integer


  3. Private Sub ComboBox1_Click()
  4.     On Error Resume Next
  5.     mrow = 0
  6.     Me.Label4.Caption = ""
  7.     name = ComboBox1.Value
  8.     Worksheets(1).Activate
  9.     If VBA.IsNumeric(name) Then
  10.         mrow = Range("F:F").Find(what:=CInt(name), lookat:=xlWhole).Row
  11.     Else
  12.         mrow = Range("F:F").Find(what:=name, lookat:=xlWhole).Row
  13.     End If
  14.     If mrow > 0 Then Label4.Caption = Cells(mrow, 3)
  15. End Sub
  16. Private Sub CommandButton1_Click()
  17.     Worksheets(1).Activate
  18.     Application.ScreenUpdating = False
  19.     Range("C" & mrow & ":h" & mrow).Delete Shift:=xlUp
  20. '    Range("D" & mrow).Delete Shift:=xlUp
  21. '    Range("E" & mrow).Delete Shift:=xlUp
  22. '    Range("F" & mrow).Delete Shift:=xlUp
  23. '    Range("G" & mrow).Delete Shift:=xlUp
  24. '    Range("H" & mrow).Delete Shift:=xlUp
  25.     Application.ScreenUpdating = True
  26. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-4-22 09:27 | 显示全部楼层
hwc2ycy 发表于 2013-4-22 08:41
窗体3的代码给你改了下。

谢谢大神



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 05:47 , Processed in 0.386465 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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