ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ExcelHome

《别怕,Excel VBA其实很简单》勘误汇总专帖

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-3-18 22:15 | 显示全部楼层
6.6.3 一个简易的登录窗体
我按照书上讲解的所有步骤做完后,结果运行的时候,输用户名:user  , 密码:1234 ,没法登录。提示输入错误。
有谁能帮帮我,这是为什么??是不是书上的代码有误啊。

点评

那在定义名称的时候把引号去掉  发表于 2013-4-8 16:22

TA的精华主题

TA的得分主题

发表于 2013-3-21 18:18 | 显示全部楼层
本帖最后由 owenreborn 于 2013-3-21 23:35 编辑

但是在读的过程中,有些代码输入后进行测试会出现错误,例如第248页的第一个代码
Sub GetFile_1()
    Dim fil As String
    fil = Application.GetOpenFilename() ’调用函数显示【打开】对话框,在打开对话框里选择文件,获取文件名
    If fil = False Then
        MsgBox "no file is selected!"
        Exit Sub
    Else
        Range("A1").Value = fil
    End If
End Sub
实际上无法运行,将红色部分中的false加上“”之后才能运行。

点评

是要加引号的  发表于 2013-4-8 16:23

TA的精华主题

TA的得分主题

发表于 2013-3-23 23:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
P54    参考答案中基本工资那一列,Dim jbgz As Double中的Double是否是Integer呢?还是说即便在-32768~32767的范围内,只要带了小数就不能用Integer,只能用Single和double了是吗

点评

Interget是整数型,不能存储小数。你的猜想正确  发表于 2013-4-8 16:26

TA的精华主题

TA的得分主题

发表于 2013-4-13 17:23 | 显示全部楼层
本帖最后由 abcd89598 于 2013-4-13 17:41 编辑

p79 运算符的优先级 逻辑部分的话 应该是Not——And——Or——Xor——Eqv——Imp(查了下资料) 书上是 And-Or-Not-Xor-Eqv-Imp
一点疑问 “学号:” & 1006110258 Like "*258" And (125+120+140)>400 答案是False   &前后都有个空格
       “学号:”&1006110258 Like "*258" And (125+120+140)>400 答案是 学号:False
      有没有空格能影响优先级吗?

TA的精华主题

TA的得分主题

发表于 2013-4-14 23:12 | 显示全部楼层
Leeˉ 发表于 2013-3-18 22:15
6.6.3 一个简易的登录窗体
我按照书上讲解的所有步骤做完后,结果运行的时候,输用户名:user  , 密码:12 ...

refersto:=“=xxxx”,注意引号内=号

TA的精华主题

TA的得分主题

发表于 2013-4-14 23:16 | 显示全部楼层
本帖最后由 522971384 于 2013-4-14 23:17 编辑

p283页——中间示例——第六行——两个Range("A1"),用一个即可!

  1. Private Sub CmdAdd_Click()          '单击“新增”按钮时运行程序
  2.     '判断在对话框中按下哪个按钮
  3.     If MsgBox("确定修改“职工档案”中添加该员工的记录吗?", vbQuestion + vbYesNo, "询问") = vbYes Then
  4.          '取得第一条空行行号
  5.         nrow = Worksheets("职工档案").Range("A1").Range("A1").CurrentRegion.Rows.Count + 1
  6.         Call edit                   '运行edit过程
  7.     End If
  8. End Sub
复制代码


TA的精华主题

TA的得分主题

发表于 2013-5-11 10:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
66页 将数组写入单元格区域
如想将一维数组arr里的第23个元素写入活动工作表中的A1单元格,代码为
range("A1").Value=arr(23)
应该为range("A1").Value=arr(22)

TA的精华主题

TA的得分主题

发表于 2013-7-9 19:40 | 显示全部楼层
本帖最后由 buggutti 于 2013-7-9 19:51 编辑

勘错{:soso_e177:}
人民邮电出版社 2012年10月第1版 2013年5月北京第6次印刷
P23   2.1.1 第二段“这个窗口是VBE窗口”,应改为“这个窗口是VBA窗口”吧?

原来是我自己错了,今天刚买到的书,刚在学。汗颜

点评

编辑VBA代码的地方称为VBE,是VBE窗口,没错,呵呵。。  发表于 2013-7-10 20:48

TA的精华主题

TA的得分主题

发表于 2013-7-31 13:59 | 显示全部楼层
P177页,图4-49下方,代码为:
ActiveSheet.UsedRange.Rows.Count        '求活动工作表中已使用的行数
ActiveSheet.UsedRange.Columns.Count    '求活动工作表中已使用的

TA的精华主题

TA的得分主题

发表于 2013-9-6 09:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
一个建议:
P75页前两条代码为
  1. Range("J2") >= 500

  2. Range("B2") Like "李*"
复制代码
后面的代码中关于range的value属性全部都加上了.value,比如
  1. If Range("b2").value Like "*刚* Then
复制代码
本书对range的value属性也进行了阐述P176,说value是range的默认属性,建议养成保留value属性的习惯,因为本书大多为新手阅读,建议代码更改为
  1. Range("J2").Value >= 500

  2. Range("B2").Value Like "李*"
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-23 03:04 , Processed in 0.049157 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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