ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] vba 中换行符太多如何处理?(急切)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-3-9 07:58 | 显示全部楼层 |阅读模式
本帖最后由 scv 于 2013-3-9 08:22 编辑

月末部品在库.rar (45.79 KB, 下载次数: 9) 我做了一个sql查询,代码比较长,想搬到excel vba中,可是,在vba中编辑时,系统提示换行符过多。就是 _ 用的太多了。
这种情况该如何处理呢?

TA的精华主题

TA的得分主题

发表于 2013-3-9 08:07 | 显示全部楼层
代码没有代码,附件没有附件,很难知道怎么处理!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-9 08:18 | 显示全部楼层
  1. select  case when left(Fnumber,5)='01.03' then '双金属片(进口)'
  2.              when left(Fnumber,5)='01.02' then '基座(进口)'
  3. when left(Fnumber,5)='01.04' then '固定接点板(进口)'
  4. when left(Fnumber,5)='01.05' then '热敏端子(进口)'
  5. when left(Fnumber,5)='01.06' then '连接线(进口)'
  6. when left(Fnumber,5)='01.07' then '螺丝(进口)'
  7. when left(Fnumber,5)='01.01' then '电热丝(进口)'
  8. when left(Fnumber,5)='01.08' then '螺母(进口)'
  9. when left(Fnumber,5)='01.09' then '半制品(进口)'
  10. when left(Fnumber,5)='01.10' then '弹簧(进口)'
  11. when left(Fnumber,5)='01.11' then '盖子(进口)'
  12. when left(Fnumber,5)='01.15' then '其他(进口)'
  13. when left(Fnumber,5)='02.01' then '电热丝(国产)'
  14. when left(Fnumber,5)='02.02' then '基座(国产)'
  15. when left(Fnumber,5)='02.03' then '固定接点板(国产)'
  16. when left(Fnumber,5)='02.04' then '热敏端子(国产)'
  17. when left(Fnumber,5)='02.05' then '连接线(国产)'
  18. when left(Fnumber,5)='02.06' then '弹簧(国产)'
  19. when left(Fnumber,5)='02.07' then '螺丝、垫片(国产)'
  20. when left(Fnumber,5)='02.08' then '盖子(国产)'
  21. when left(Fnumber,5)='02.09' then '其他(国产)'
  22. when left(Fnumber,5)='02.10' then '双金属片(国产)'
  23. when left(Fnumber,5)='03.01' then '双金属片(自制)'
  24. when left(Fnumber,5)='03.04' then '连接线(自制)'
  25. when left(Fnumber,5)='03.03' then '固定接点板(自制)'
  26. when left(Fnumber,5)='04.01' then '电热丝(委外)'

  27.              else ' '
  28.         end as Fname,
  29.         
  30.         
  31.         case when (grouping(Fnumber)=1) then '小计'
  32.              else isnull(Fnumber,'Unknown')
  33.         end as Fnumber,
  34.         case when (grouping(Fmodel)=1) then ' '
  35.              else isnull(Fmodel,'Unknown')
  36.         end as Fmodel,

  37. sum(BegQty) as BegQty,sum(InQty) as InQty,sum(OutQty) as OutQty,sum(EndQty) as EndQty

  38. from
  39. (select icinvbal.fitemid,t_IcItemCore.Fnumber,t_IcItemCore.Fname,t_IcItemCore.Fmodel,icinvbal.fyear,icinvbal.fperiod,icinvbal.fbegqty as BegQty,isnull(BillInQry.InQty,0) as InQty,isnull(BillOutQry.OutQty,0) as OutQty,
  40.         (icinvbal.fbegqty+isnull(BillInQry.InQty,0)-isnull(BillOutQry.OutQty,0)) as EndQty,left(t_IcItemCore.Fnumber,5) as Ftype,icinvbal.fstockid
  41. from icinvbal full join
  42. (select icstockbillentry.fitemid as Fitemid,sum(icstockbillentry.fqty) as InQty
  43. from icstockbillentry inner join icstockbill on icstockbillentry.finterid=icstockbill.finterid
  44. where icstockbill.fdate>'2013-01-01' and icstockbill.fdate<='2013-01-31'
  45.                                      and icstockbill.fdcstockid='212'
  46. group by icstockbillentry.fitemid) as BillInQry on BillInQry.fitemid=icinvbal.fitemid

  47. full join
  48. (select icstockbillentry.fitemid as Fitemid,sum(icstockbillentry.fqty) as OutQty
  49. from icstockbillentry inner join icstockbill on icstockbillentry.finterid=icstockbill.finterid
  50. where icstockbill.fdate>'2013-01-01' and icstockbill.fdate<='2013-01-31'
  51.                                      and  icstockbill.fscstockid='212'
  52. group by icstockbillentry.fitemid) as BillOutQry on BillOutQry.Fitemid=icinvbal.fitemid

  53. inner join t_IcItemCore on icinvbal.fitemid=t_IcItemCore.FitemId

  54. where icinvbal.fyear='2013' and icinvbal.fperiod='1' and icinvbal.fstockid='212'

  55. ) as MainTbl

  56. group by Ftype,Fnumber,Fmodel with rollup

  57. having grouping(Fnumber)=1 or grouping(Fmodel)=0
复制代码
代码奉上。这段代码要放到vba的 sub过程中,如何处理? 我用换行符,提示换行符太多!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-9 08:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ctp_119 发表于 2013-3-9 08:07
代码没有代码,附件没有附件,很难知道怎么处理!!!

代码有了,请帮忙看看啊。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-9 08:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
附件也有了啊。就是附件中的代码不知如何处理。

TA的精华主题

TA的得分主题

发表于 2013-3-9 08:26 | 显示全部楼层
哇,晕呼呼的,我看是嵌套太多吧!!!这么长的SQL语句!!!另寻高手!!!不好意思!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-9 08:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ctp_119 发表于 2013-3-9 08:26
哇,晕呼呼的,我看是嵌套太多吧!!!这么长的SQL语句!!!另寻高手!!!不好意思!!

语法没问题。这段代码我在sql中测试过,能用。单就是不知如何搬到vba过程中。

TA的精华主题

TA的得分主题

发表于 2013-3-9 08:59 | 显示全部楼层
你那是数据库的连接方式,工作表(或工作簿)的连接方式有点不同。。。

TA的精华主题

TA的得分主题

发表于 2013-3-9 09:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你不用改太多了,有了SQL, 用VBA一样调用SQL,搜下ado。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-9 09:09 | 显示全部楼层
ctp_119 发表于 2013-3-9 08:59
你那是数据库的连接方式,工作表(或工作簿)的连接方式有点不同。。。

因为代码长,我尝试用了很多换行符   就是 _
可是vba提示换行符太多。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-7 17:27 , Processed in 0.043762 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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