ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 怎麼把工作表取數改為同路徑下工作簿取數?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-19 10:11 | 显示全部楼层 |阅读模式
以下代碼在一個工作表中是OK的,但是將各工作表放在一個文件夾下,將hdr=no;imex=1';data source=" & ThisWorkbook.FullName改為data source=" & ThisWorkbook.Path無法運行,因為對VBA不太懂,肯請大家協助
審單系統中是一個工作簿的資料,測試系統中是將各工作表另放一個工作簿
Sub test1()
Dim conn As Object, Sql$, S1 As Worksheet, S2 As Worksheet
Dim S3 As Worksheet, S4 As Worksheet, S5 As Worksheet, S6 As Worksheet, S7 As Worksheet, j&
t = Timer
Application.ScreenUpdating = False
Set S1 = Sheets("庫存")
Set S2 = Sheets("未結")
Set S3 = Sheets("未交")
Set S4 = Sheets("制令用料")
Set S5 = Sheets("原料展開")
Set S6 = Sheets("已請未購")
Set S7 = Sheets("缺料計算")
Set conn = CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;imex=1';data source=" & ThisWorkbook.FullName
    S7.[A3:Z65536].clear
    Sql = "Select * From (Select #" & S1.[B1] & "#,'','庫存',f6,f2,f3,0 from [庫存$A3:F" & S1.[a65536].End(xlUp).Row & "] " & _
          "Union Select f3,f9,'未交',f11,f5,f6,0 From [未交$A3:k" & S3.[a65536].End(xlUp).Row & "] " & _
          "Union Select f1,f2,'原料展開',f7,f4,f6,0 From [原料展開$A3:g" & S5.[a65536].End(xlUp).Row & "] " & _
          "Union Select f3,f10,'未結',f4,f5,f8,0 From [未結$A3:K" & S2.[a65536].End(xlUp).Row & "] " & _
          "Union Select f2,f3,'已請未購',f4,f7,f5,0 From [已請未購$A3:K" & S6.[a65536].End(xlUp).Row & "] " & _
          "Union Select f1,f2,'制令用料',f10,f3,0,f5 from [制令用料$A3:J" & S4.[a65536].End(xlUp).Row & "])"
    Sheet9.[A3].CopyFromRecordset conn.Execute(Sql)
    Sql = "Select * From [缺料計算$A3:H" & S7.[a65536].End(xlUp).Row & "] order by f1,f4,f6 Desc"  '以入库数-->日期-->料号的顺序排列
    Sheet9.[A3].CopyFromRecordset conn.Execute(Sql)
    Call tt
    conn.Close
    Set conn = Nothing
Application.ScreenUpdating = True
Columns("H:H").Select
    Selection.NumberFormatLocal = "0_ ;[红色]-0 "
    Range("H31893").Select
    MsgBox "汇总库存计划完成" & vbCr & "共用時" & Format((Timer - t), "0.00") & "秒"
End Sub


该贴已经同步到 yancjm的微博

審單系統.rar

927.73 KB, 下载次数: 14

测试系统.rar

884.99 KB, 下载次数: 14

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-20 08:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我VBA學太差,頂起來
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 13:20 , Processed in 0.040531 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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