ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 语句报错的问题请教

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-7-7 09:47 | 显示全部楼层 |阅读模式
感谢各位老师帮助!谢谢
按日期之间查找数据代码。在其它表里查找时i没有报错,在这个表里同样写法就会报错
请各位老师指点。

Sub 出货日期查询()
    Sheets("查询").Range("D1,B1,F1,A3:V800") = "" '判断要删除或者清除的区域
    On Error Resume Next    '如果出现错误,忽略,然后执行下一行代码。
    Application.ScreenUpdating = False    '关闭屏幕刷新,成对出现,提高速度
    Application.DisplayAlerts = False    '关闭提示,,成对出现,避免出现提示框
'---------------------------------------   参数声明部分  ------------------- ------------------- -------------------
    Dim cnn, SQL$   '定义数据库连接和SQL语句
    Set cnn = CreateObject("adodb.connection")  '创建数据库连接
    Set rs = CreateObject("adodb.recordset")   '创建一个数据集保存数据
    i = Sheets("查询").Range("I1").Value   '开始日期
    t = Sheets("查询").Range("L1").Value   '结束日期

    '---------------------------------------   设置数据库连接  ------------------- ------------------- -------------------
    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName

    SQL = "select 编号,日期,款号,款式,颜色,单位,XS,S,M,L,XL,2XL,3XL,4XL,5XL,数量,合计,接单价,金额合计 from  [成品出货数据库$A1:T8300] where 日期>=#" & i & "#" & "and 日期<=#" & t & "#"

    '设置查询字段与查询条件
   
    '---------------------------------------   SQL结果处理  ------------------- ------------------- -------------------
    Set rs = cnn.Execute(SQL)    '将SQL语句获得的数据传递给数据集
    Sheets("查询").Range("A3:U10000").ClearContents       '清理保存数据的区域
    Sheets("查询").Range("A3").CopyFromRecordset rs    '将数据集粘贴到Excel中,左上角为A5,无列名。

    cnn.Close     '关闭数据库连接
    Set cnn = Nothing    '将CNN从内存中删除。
    '--------------------------------------- ------------------------ ------------------- -------------------
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
   
     Application.Calculation = xlSemiautomatic

        MsgBox "出货日期查询  完毕!   烦请 按 确 定 键"
End Sub


报错

报错

万森制衣厂出货记录-233.zip

146.44 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2023-7-7 15:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-7-7 17:39 | 显示全部楼层
因为有Option Explicit存在,这是强制声明标识语句
解决方案:1 声明所需变量(建议这样)
                2 删除这句

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-8 08:54 | 显示全部楼层
sxbjzjf110 发表于 2023-7-7 15:22
定义一下rs变量
dim rs as object

本人学历低,英语差。理解力也不怎么好,很多时候是勉强在拆装拼凑老师的代码,去实验。在这里学习到了很多有效的方法。真心感谢老师们的指点与帮助。
我对excel非常感兴趣,遇到问题,都会来这里来寻求帮助,由于学习力差,所以让老师见笑了!

不知怎么修改变量
还望老师帮助修改
谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-8 08:55 | 显示全部楼层
ww87725244 发表于 2023-7-7 17:39
因为有Option Explicit存在,这是强制声明标识语句
解决方案:1 声明所需变量(建议这样)
                ...

本人学历低,英语差。理解力也不怎么好,很多时候是勉强在拆装拼凑老师的代码,去实验。在这里学习到了很多有效的方法。真心感谢老师们的指点与帮助。
我对excel非常感兴趣,遇到问题,都会来这里来寻求帮助,由于学习力差,所以让老师见笑了!

不知怎么修改变量
还望老师帮助修改
谢谢

TA的精华主题

TA的得分主题

发表于 2023-7-8 15:59 | 显示全部楼层
图片.png   Option Explicit语句一般放在模块的最上一行,此为强制定义变量语句,有了它就必须定义变量,其实变量没有必要定义,所以,这一句整个删除即可

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-8 16:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 爱诗利 于 2023-7-8 16:43 编辑
feilanga 发表于 2023-7-8 15:59
Option Explicit语句一般放在模块的最上一行,此为强制定义变量语句,有了它就必须定义变量,其实变量没 ...

跟老师学到了
现在终于知到为什么最顶部的变量是不一定要。不要会更好。
谢谢!老师指教

TA的精华主题

TA的得分主题

发表于 2023-7-8 16:47 | 显示全部楼层
过去电脑配置低,定义合适的变量类型,可以节约内存。而且定义了变量,方便调试。但是现在的电脑配置高了,完全没有必要定义变量。定义变量有定义的好处,不定义有不定义的好处。一般情况下无需定义变量。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-7-8 16:49 | 显示全部楼层
学习VBA建议用Excel2010 32位版本,选中不懂的代码单词按F1键,即可查看系统帮助。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-8 23:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
feilanga 发表于 2023-7-8 16:49
学习VBA建议用Excel2010 32位版本,选中不懂的代码单词按F1键,即可查看系统帮助。


谢谢!老师
是用Excel2010 32位版本。按F1 看系统帮助后有很多不明白。当遇到问题时看系统帮助都找不到答案。
没有你讲解得详细明了
谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 00:47 , Processed in 0.044053 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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