Excel精英培训网

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

[已解决]谢谢mxg825 老师,进度条为何没有反应?

[复制链接]
发表于 2011-6-3 22:50 | 显示全部楼层 |阅读模式
本帖最后由 lhj323323 于 2011-6-4 16:50 编辑

Private Sub CommandButton1_Click() '窗体的“运行”按纽     
res = MsgBox("请确认是否将文本文件数据导入到数据库中?", vbYesNo, "导入确认")
    If res = vbYes Then  '2
    CommandButton7.Caption = "取 消" '原[退出]按纽变为[取消]按纽
    Label1.Caption = "系统正在加载数据文件,请稍后 ...."
    Label1.Visible = True
      On Error GoTo errbad
'=========进度条=========================
    ProgressBar1.Min = 0
    ProgressBar1.Max = w
    Label14.Caption = "0%"
    ProgressBar1.Value = h
    Label14.Caption = Round(h / w, 2) * 100 & "%"
    DoEvents
      h = h + 1
'========运行程序======
。。。。。。。。。。

========程序运行结束======
      
If Label14.Caption = "100%" Then
   Rows("1:1").AutoFilter
   Label1.Caption = "文本数据加载成功!"
   MsgBox "系统已经成功提取并导入数据!", vbOKOnly, "系统响应"
Else
  Label1.Caption = "文本数据加载失败!"
  MsgBox "原始文本数据中包含有异常结束符,请替换所有异常字符后重新执行操作!", vbOKOnly, "系统响应"
End If
  
Label1.Visible = False
  CommandButton7.Caption = "退 出"
  Unload UserForm1
  Exit Sub
errbad:
  MsgBox "数据导入失败或终止,若为非人为终止请检查数据文本的准确性!", vbOKOnly + vbCritical, "系统响应"
  
  Unload UserForm1
Else
End If
End Sub
最佳答案
2011-6-4 15:46
  1. Sub 进度条()
  2. Dim W%, h%
  3. '进度条初始化#####
  4.     W = 100
  5.     ProgressBar1.Min = 0
  6.     ProgressBar1.Max = W
  7.     Label14.Caption = "0%"
  8. '##############
  9.     '假设以下是你的程序过程 一个循环********
  10.     For h = 1 To W
  11.         ProgressBar1.Value = h
  12.         Label14.Caption = Round(h / W, 2) * 100 & "%"
  13.     Next h
  14.     '***************************
  15. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-6-3 23:54 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-6-4 02:19 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-6-4 15:02 | 显示全部楼层
回复 lhj323323 的帖子

向朋友们求助
回复

使用道具 举报

发表于 2011-6-4 15:13 | 显示全部楼层
你搜索一下 进度条。。下载个例子看看
或上传你的附件!
回复

使用道具 举报

 楼主| 发表于 2011-6-4 15:37 | 显示全部楼层
回复 mxg825 的帖子

附件在单位里,现在我在家里,无法将附件上传。
回复

使用道具 举报

发表于 2011-6-4 15:46 | 显示全部楼层    本楼为最佳答案   
  1. Sub 进度条()
  2. Dim W%, h%
  3. '进度条初始化#####
  4.     W = 100
  5.     ProgressBar1.Min = 0
  6.     ProgressBar1.Max = W
  7.     Label14.Caption = "0%"
  8. '##############
  9.     '假设以下是你的程序过程 一个循环********
  10.     For h = 1 To W
  11.         ProgressBar1.Value = h
  12.         Label14.Caption = Round(h / W, 2) * 100 & "%"
  13.     Next h
  14.     '***************************
  15. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-6-4 16:00 | 显示全部楼层
本帖最后由 lhj323323 于 2011-6-4 16:02 编辑

回复 mxg825 的帖子

谢谢mxg825 老师

  •     For h = 1 To W
  •         ProgressBar1.Value = h
  •         Label14.Caption = Round(h / W, 2) * 100 & "%"
  •     Next h
    这四句是放在我的程序循环中?还是循环前?还是循环后?
回复

使用道具 举报

发表于 2011-6-4 16:17 | 显示全部楼层
程序循环中,W 可设为你的程序循环 就最大次数值,H当前次数
只加这两句
        ProgressBar1.Value = h
        Label14.Caption = Round(h / W, 2) * 100 & "%"
回复

使用道具 举报

 楼主| 发表于 2011-6-4 16:50 | 显示全部楼层
回复 mxg825 的帖子

谢谢老师指点。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 07:09 , Processed in 0.297509 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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