ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 如何不打开相关文件,复制文件1的内容到文件2(在22楼解决!)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-2-13 18:53 | 显示全部楼层
QUOTE:
以下是引用TGB在2007-2-13 13:32:19的发言:

'以下代码放在你的langques的问题.xls工作簿
Public Sub kkk()

  ol$ = [e4].Value
  nl$ = [e5].Value
 
  Set yb = GetObject([c4] & "\" & [d4])
  Set md = GetObject([c5] & "\" & [d5])
 
   For j% = 1 To Windows.Count
      Windows(j).Visible = True
   Next
  
  yb.Sheets(ol).UsedRange.Copy md.Sheets(nl).[b2]
 
  yb.Close False
  md.Close True

End Sub

俺咋天才看到这个方法,原来兄弟们都会,其实打开工作簿又不妨碍你什么.为何总是不想打开,

agstick:你老家伙要是都不清楚,哪谁还清楚.


再谢谢TGB先生。

解释一下:不是不想打开文件,是曾为朋友做个工具,他的单位已经采用了不正确的管理方式,形成了成千上万个格式相同的“微型Excel文件”。请T先生暂且原谅。

TA的精华主题

TA的得分主题

发表于 2007-2-13 21:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

学习爱歌学习的ADO方法做了个用ADO处理你这个问题的. 那些文件目录和工作表名称没有使用变量. 你可以自己改下.

多谢爱歌学习的帖子.

Sub bb()
Dim CNN As New ADODB.Connection
Dim RST As New ADODB.Recordset
Dim arr() As Variant
Dim iRow As Integer
Dim iCol As Integer
With CNN
.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"extended properties='Excel 8.0;hdr=no';" & _
"data source=C:\temp\表格01.xls"
.Open
End With
RST.Open "select * from [情况表$A1:H12]", CNN, 1, 3
iRow = RST.RecordCount
iCol = RST.Fields.Count

ReDim arr(1 To iRow, 1 To iCol) As Variant

For i = 1 To iRow
    For j = 1 To iCol
        arr(i, j) = RST.Fields(j - 1).Value
    Next j
    RST.MoveNext
Next i
'RST.Update
RST.Close
CNN.Close

With CNN
.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"extended properties='Excel 8.0;hdr=no';" & _
"data source=C:\temp\临时xls"
.Open
For i = 1 To iRow
    For j = 1 To iCol
    strt = "update [报表$" & Chr(97 + j) & (i + 1) & ":" & Chr(97 + j) & (i + 1) & "] set f1='" & arr(i, j) & "'"
    .Execute strt
    Next j
Next i
End With

qxR2G7VY.zip (9.18 KB, 下载次数: 880)


TA的精华主题

TA的得分主题

 楼主| 发表于 2007-2-13 22:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

非常感谢winland先生!你提供的代码很好用,正是我最需要的!

预祝春节快乐!

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-2-14 03:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
同时感谢stx1980710先生、agstick先生(眨眼的)、TGB先生、winland先生、Aeolian-Vox先生,辛苦大家了!

TA的精华主题

TA的得分主题

发表于 2007-2-16 14:40 | 显示全部楼层

有两个问题:

1、文本数据复制不到

2、数值数据复制后变成文本格式

TA的精华主题

TA的得分主题

发表于 2007-2-16 15:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我也碰到这个问题,需求是

通过扫描某个目录下,得到n个excel文件,并提取每个excel中有多少个sheet.汇总到一个excel中,做个目录文件,点击就能得直接到这个sheet中.

有哪位大侠能帮个忙,提个思路也行,先谢谢了.

TA的精华主题

TA的得分主题

发表于 2007-2-16 15:41 | 显示全部楼层
QUOTE:
以下是引用文科生在2007-2-16 14:40:01的发言:

有两个问题:

1、文本数据复制不到

2、数值数据复制后变成文本格式

对第一个可以加个imex=1来解决,第2个要再看看.

With CNN
.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"extended properties='Excel 8.0;hdr=no;imex=1';" & _
"data source=C:\temp\表格01.xls"
.Open
End With

TA的精华主题

TA的得分主题

发表于 2007-2-16 16:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用winland在2007-2-16 15:41:12的发言:

对第一个可以加个imex=1来解决,第2个要再看看.

With CNN
.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"extended properties='Excel 8.0;hdr=no;imex=1';" & _
"data source=C:\temp\表格01.xls"
.Open
End With

对第二个问题, 如果那个临时.xls文件里如D3:D13的格式是数字的话,运行后的插入的数据会是数字. 原来的格式是General的话,就会把数字改为字符. 好像在运行时不可以改已经打开的RST的Field的Type.

TA的精华主题

TA的得分主题

发表于 2007-2-16 18:22 | 显示全部楼层

我试过源表的数据是什么格式,临时.xls表里和源数据表相对应的单元格调成一样格式就OK了.

请 WINLAND兄试试后看有何更好的办法?

TA的精华主题

TA的得分主题

发表于 2007-2-16 18:30 | 显示全部楼层
QUOTE:
以下是引用文科生在2007-2-16 18:22:26的发言:

我试过源表的数据是什么格式,临时.xls表里和源数据表相对应的单元格调成一样格式就OK了.

请 WINLAND兄试试后看有何更好的办法?

我也没什么办法了。个人觉得ADO处理Excel里主要是针对数据本身,对格式这些就没办法了,不知道我的理解对不对。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-11 05:30 , Processed in 1.053419 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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