vba 拷贝网页文本数据到另一个工作薄

查看: 6020|回复: 20|
在线时间98 小时经验353 威望0 性别男最后登录注册时间阅读权限30UID317549积分353帖子精华0分享0
EH中级, 积分 353, 距离下一级还需 747 积分
积分排行3335帖子精华0微积分0
各位,你们好!
如题,小弟请教,如何复制指定区域内的非空白单元格数据到另一工作表。
谢谢各位解疑,谢谢!
(28.49 KB, 下载次数: 16)
08:35 上传
下载次数: 16
08:35 上传
下载次数: 107
5.46 KB, 下载次数: 107
合抱之木生于毫末;九层之台起于垒土;千里之行始于足下。
在线时间541 小时经验19568 威望29 性别男最后登录注册时间阅读权限95UID2171积分19568帖子精华0分享0
管理以下版块
积分排行15帖子精华0微积分0
自动筛选非空单元格,然后复制、粘贴即可。
在线时间6779 小时经验10686 威望5 最后登录注册时间阅读权限95UID277206积分12386帖子精华0分享0
积分排行55帖子精华0微积分0
Sub cpy()
& & Dim rng As Range
& & Dim Dic As Object
& & Set Dic = CreateObject(&Scripting.Dictionary&)
& & For Each rng In Range(&A1&, [A65536].End(3))
& && &&&If rng && && Then Dic(rng) = &&
& & Next
& & Sheet2.[B1].Resize(Dic.Count) = Application.Transpose(Dic.keys)
End Sub复制代码
心无杂草 自生快乐
在线时间1037 小时经验1282 威望0 性别男最后登录注册时间阅读权限50UID288798积分1282帖子精华0分享0
EH高级, 积分 1282, 距离下一级还需 718 积分
积分排行824帖子精华0微积分0
Sub jxb8088()
Set cnn = CreateObject(&adodb.connection&)
cnn.Open &Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;hdr=no';Data Source=& & ThisWorkbook.FullName
Sql = &SELECT f1 FROM [Sheet1$] where f1 is not null &
Sheets(2).[b1].CopyFromRecordset cnn.Execute(Sql)
Set cnn = Nothing
在线时间541 小时经验19568 威望29 性别男最后登录注册时间阅读权限95UID2171积分19568帖子精华0分享0
管理以下版块
积分排行15帖子精华0微积分0
在2007下测试上面两个宏,3楼通过,4楼不能通过。
在线时间1037 小时经验1282 威望0 性别男最后登录注册时间阅读权限50UID288798积分1282帖子精华0分享0
EH高级, 积分 1282, 距离下一级还需 718 积分
积分排行824帖子精华0微积分0
原帖由 cxffxc 于
09:00 发表
在2007下测试上面两个宏,3楼通过,4楼不能通过。
在2003下能通过,2007没测试!
在线时间1121 小时经验1912 威望0 性别男最后登录注册时间阅读权限50UID37407积分1912帖子精华0分享0
EH高级, 积分 1912, 距离下一级还需 88 积分
积分排行545帖子精华0微积分0
简单录制个宏
Sub Macro1()
' Macro1 Macro
' Macro recorded 10/23/2009 by MrExcel
& & Range(&A1:C6&).Select
& & Selection.SpecialCells(xlCellTypeConstants, 23).Select
--培训: EXCEL / VBA / 生产管理建模 / 报告自动化
在线时间98 小时经验353 威望0 性别男最后登录注册时间阅读权限30UID317549积分353帖子精华0分享0
EH中级, 积分 353, 距离下一级还需 747 积分
积分排行3335帖子精华0微积分0
原帖由 amolin 于
09:12 发表
简单录制个宏
Sub Macro1()
' Macro1 Macro
' Macro recorded 10/23/2009 by MrExcel
& & Range(&A1:C6&).Select
& & Selection.SpecialCells(xlCellTypeConstants, 23).Select
现在已经解决关于非空白单元格的引用,接下来怎样复制到指定的区域呢?谢谢指教。
合抱之木生于毫末;九层之台起于垒土;千里之行始于足下。
在线时间1121 小时经验1912 威望0 性别男最后登录注册时间阅读权限50UID37407积分1912帖子精华0分享0
EH高级, 积分 1912, 距离下一级还需 88 积分
积分排行545帖子精华0微积分0
& & Dim rgCell As Range
& & For Each rgCell In Sheets(1).Range(&A1:C6&).SpecialCells(xlCellTypeConstants, 23)
& && &&&rgCell.Copy Sheets(2).Range(rgCell.Address)
--培训: EXCEL / VBA / 生产管理建模 / 报告自动化
在线时间98 小时经验353 威望0 性别男最后登录注册时间阅读权限30UID317549积分353帖子精华0分享0
EH中级, 积分 353, 距离下一级还需 747 积分
积分排行3335帖子精华0微积分0
原帖由 amolin 于
10:42 发表
& & Dim rgCell As Range
& & For Each rgCell In Sheets(1).Range(&A1:C6&).SpecialCells(xlCellTypeConstants, 23)
& && &&&rgCell.Copy Sheets(2).Range(rgCell.Address)
这个不行,因为它在复制时连同空白单元格一起复制过去了,还请帮帮解决
合抱之木生于毫末;九层之台起于垒土;千里之行始于足下。
积分≥4700即可申请
金牌优秀会员
金牌优秀会员奖章No.1
优秀会员奖章No.1
优秀会员奖章No.2
优秀会员奖章No.3
Excel Home竞赛活动
Excel Home竞赛活动奖章
关注我们,与您相约微信公众平台!
Copyright 1999 - 2017 Excel Home. All Rights Reserved.本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
Powered by
本站特聘法律顾问:徐怀玉律师 李志群律师 &&请教如何利用VBA实现将一个工作表复制到另一个工作簿中?_excel吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:58,893贴子:
请教如何利用VBA实现将一个工作表复制到另一个工作簿中?收藏
请教如何利用VBA实现将一个工作表复制到另一个工作簿中?
Sub&Text()
Workbooks(&甲工作簿&).Sheets(&工作表1&).Copy&After:=Workbooks(&乙工作簿&).Sheets(Workbooks(&乙工作簿&).Sheets.Count)
End&Sub
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或当前位置: >
> excel不同工作簿之间的数据复制问题使用vba语句将excel工作簿&源数据.xls&
excel不同工作簿之间的数据复制问题使用vba语句将excel工作簿&源数据.xls&
rkzk001 & at
excel不同工作簿之间的数据复制问题使用vba语句将excel工作簿&源数据.xls&的工作表&体育&中的数据复制到工作簿&Inquiry.xls&的Sheet1表中,&Inquiry.xls&是打开的,&源数据.xls&没有打开。语句如下: &  VB code   Workbooks(&源数据..xls&).Worksheets(&体育&).Activate Workbooks(&Inquiry.xls&).Worksheets(1).Cells(TempY_I, 2).Value = Workbooks(&源数据.xls&).Worksheets(&体育&).Cells(TempY, 3).Value Workbooks(&Inquiry.xls&).Worksheets(1).Cells(TempY_I, 3).Value = Workbooks(&源数据.xls&).Worksheets(&体育&).Cells(TempY, 4).Value
其中TempY_I和TempY是行数控制变量。每次运行都报错,说是“下标越界”,如果不加  VB code   Workbooks(&源数据..xls&).Worksheets(&体育&).Activate
也报错,把Activate换成Select也报错“下标越界”,请大家帮忙看看怎么回事?谢谢
为什么不能打开?打开后数据复制完毕,把它关闭不就行了吗!
rl5201314lei & &
& & (0)(0)不打开工作簿是没办法读取数据的据说老旧的excel4语法可以直接读取,不知道现在是否还兼容rlf & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-查看: 6468|回复: 14|
在线时间1167 小时经验93 威望0 最后登录注册时间阅读权限20UID682680积分93帖子精华0分享0
EH初级, 积分 93, 距离下一级还需 257 积分
积分排行3000+帖子精华0微积分0
附件有兩個工作簿,分別是【STOCK】及【AR】,【STOCK】裡有一個工作表《貨品出入明細》。【AR】裡有兩個工作表,分別是《銷售帳_1》和《銷售帳_2》。
請教高手︰
我想把《銷售帳_1》和《銷售帳_2》裡的多列數據(在第1行的儲存格已標示黃色),根據「貨品編號」,把相關數據複製到【STOCK】裡的《貨品出入明細》對應的列。
若在【AR】的「貨品編號」列,沒有數據,則根據「貨品配件編號」來填充數據。
我想運行vba代碼的按鈕分別放在《銷售帳_1》和《銷售帳_2》工作表中。
請問按以上條件,vba代碼應怎樣寫?期待高手解答,十分感激。
[ 本帖最后由 exwtf 于
10:32 编辑 ]
09:27 上传
下载次数: 69
8.17 KB, 下载次数: 69
在线时间3030 小时经验2278 威望1 最后登录注册时间阅读权限70UID379053积分2478帖子精华1分享0
EH铁杆, 积分 2478, 距离下一级还需 722 积分
积分排行400帖子精华1微积分0
调用工作簿函数vlookup或hlookup吧,应该还是比较好写的,给你提个思路
在线时间1167 小时经验93 威望0 最后登录注册时间阅读权限20UID682680积分93帖子精华0分享0
EH初级, 积分 93, 距离下一级还需 257 积分
积分排行3000+帖子精华0微积分0
原帖由 kevinchengcw 于
10:02 发表
调用工作簿函数vlookup或hlookup吧,应该还是比较好写的,给你提个思路
先謝謝大大的意見
我之前都是這樣做,但在數據不斷更新,每次都要手動複貼資料,而且數據很多,實際運作上不宜用vlookup 和hlookup。
在线时间3030 小时经验2278 威望1 最后登录注册时间阅读权限70UID379053积分2478帖子精华1分享0
EH铁杆, 积分 2478, 距离下一级还需 722 积分
积分排行400帖子精华1微积分0
公式可以直接写到单元格里,其他的再写到VBA里,我做过几十页的这种调用都很快的,即改即变
在线时间1167 小时经验93 威望0 最后登录注册时间阅读权限20UID682680积分93帖子精华0分享0
EH初级, 积分 93, 距离下一级还需 257 积分
积分排行3000+帖子精华0微积分0
原帖由 kevinchengcw 于
10:27 发表
公式可以直接写到单元格里,其他的再写到VBA里,我做过几十页的这种调用都很快的,即改即变
大大,可否用我上傳的附件作例子,解釋你所說的方法嗎?我不太明白實際應怎樣應用大大提供的方法。謝謝您啊!
在线时间3030 小时经验2278 威望1 最后登录注册时间阅读权限70UID379053积分2478帖子精华1分享0
EH铁杆, 积分 2478, 距离下一级还需 722 积分
积分排行400帖子精华1微积分0
附件已改过几行,你自己试一下吧
13:25 上传
下载次数: 278
11.2 KB, 下载次数: 278
在线时间1167 小时经验93 威望0 最后登录注册时间阅读权限20UID682680积分93帖子精华0分享0
EH初级, 积分 93, 距离下一级还需 257 积分
积分排行3000+帖子精华0微积分0
原帖由 kevinchengcw 于
13:25 发表
附件已改过几行,你自己试一下吧
大大,我有兩個問題︰
1) 我是想從【ar】工作簿copy data 到【stock】工作簿。
2) 若我的【ar】是每個月開一個新的工作簿,換言之,會有不同的工作簿名。那麼,好像不能用link連接。
請問我應如何做呢?謝謝
在线时间3030 小时经验2278 威望1 最后登录注册时间阅读权限70UID379053积分2478帖子精华1分享0
EH铁杆, 积分 2478, 距离下一级还需 722 积分
积分排行400帖子精华1微积分0
1.函数只能引用数据,除非你自己拷贝并粘贴数值,如果是要复制数据的话就确实要用VBA来写了
2.同上,如果用VBA写你每个月的工作簿需有一个命名规则,比如&销售表201001.xls&,&销售表201002.xls&
3.就是你要读取的是自动读取,还是通过按钮读取,是读取全部月份还是指定月份,其实你可以把每个月的数据做在一个工作簿的不同工作表里,就以月份命名,这样你也不用搞出很多文件
4.过往月份的数据已不会再变应该是一次读取吧,那样的话就只剩下读取最近一个月的,那应该用公式还是可以搞定的,不过VBA可以是一劳永逸
[ 本帖最后由 kevinchengcw 于
09:43 编辑 ]
在线时间24 小时经验4 威望0 性别男最后登录注册时间阅读权限10UID354099积分16帖子精华0分享0
EH新人, 积分 16, 距离下一级还需 4 积分
积分排行3000+帖子精华0微积分0
Sub A(ByVal SourceRange As Range, ByVal SRRC As Integer, ByVal AimRange As Range)
& & Dim SourceAllRange As Range
& & Dim AimRow As Integer
& & Set SourceAllRange = SourceRange.CurrentRegion
& & AimRow = 1
& & For i = 2 To SRRC
& && &&&AimRange.Cells(AimRow, 1) = AimRange.Cells(AimRow, 1).Row - 1
& && &&&AimRange.Cells(AimRow, 5) = SourceAllRange.Cells(i, 8)
& && &&&AimRange.Cells(AimRow, 6) = SourceAllRange.Cells(i, 9)
& && &&&AimRange.Cells(AimRow, 14) = SourceAllRange.Cells(i, 10)
& && &&&AimRange.Cells(AimRow, 15) = SourceAllRange.Cells(i, 1)
& && &&&AimRange.Cells(AimRow, 16) = SourceAllRange.Cells(i, 2)
& && &&&AimRow = AimRow + 1
& & Set SourceAllRange = Nothing
Sub B(ByVal SourceRangeAddress As String)
& & Dim SWS As Worksheet
& & Dim AimWS As Worksheet
& & Dim AimRange As Range
& & Dim SRRC As Integer
& & Set SWS = ActiveSheet
& & Set AimWS = Workbooks(&STOCK&).Worksheets(&货品出入明細&)
& & Set AimRange = AimWS.Cells(AimWS.Cells(AimWS.Rows.Count, 1).End(xlUp).Row + 1, 1)
& & '源工作表最后一行,前提为第一列不为空
& & SRRC = SWS.Cells(SWS.Rows.Count, 1).End(xlUp).Row
& & Call A(SWS.Range(SourceRangeAddress), SRRC, AimRange)
End Sub以上代码是直接将AR工作簿中的数据“复制” 到STOCK中,不满足“根據「貨品編號」,把相關數據複製到【STOCK】裡的《貨品出入明細》對應的列。”的要求,但个人认为这样更符合要求,不知楼主同意否?若满足此条件,就要进行查询,但这要保证AR中的每个工作表中貨品編號及貨品出入明細唯一,不然的这样做就没什么意义了。不知此代码符合楼主要求?
执行代码时,要保证AR和STOCK都打开,否则会出现错误,当然增加代码可以在STOCK不打开的状况下执行代码,原理就是如果STOCK没有打开,就利用代码打开。
对于“若我的【ar】是每個月開一個新的工作簿,換言之,會有不同的工作簿名。那麼,好像不能用link連接。”的要求,此代码放在AR中,对本省的引用用的是“thisworkbook”,只要STOCK不改名就可保证代码的正常执行。
在銷售帳_1》和《銷售帳_2》单击CommandButton按钮执行代码,替换了楼主原有工作簿中的按钮。
由于不清楚楼主实际情况,以上代码基本算是“硬代码”。
16:42 上传
下载次数: 186
23.87 KB, 下载次数: 186
在线时间24 小时经验4 威望0 性别男最后登录注册时间阅读权限10UID354099积分16帖子精华0分享0
EH新人, 积分 16, 距离下一级还需 4 积分
积分排行3000+帖子精华0微积分0
忘记说了一点,Stock中在A列前加了一列,主要是为了方便判断貨品出入明細最后一行数据的位置,为新加入的数据定位,方便代码的编写,这一列的数据代码自动填写,AR中工作表要保证第一列不为空
优秀会员奖章No.1
关注我们,与您相约微信公众平台!
Copyright 1999 - 2017 Excel Home. All Rights Reserved.本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
Powered by
本站特聘法律顾问:徐怀玉律师 李志群律师 &&VBA 如何从一个Excel文件中复制一张表到另一个Excel中去
VBA 如何从一个Excel文件中复制一张表到另一个Excel中去
大意如题,我该如何解决呢?
不区分大小写匿名
vba是何物,直接复制粘贴不行么?
大体和这个意思相近就OK了
在sql查询分析器中。
insert into OpenDataSource (&Microsoft.Jet.OLEDB.4.0&,
&Data Source=&c:\1.xls&;Extended properties=Excel 5.0&)...Sheet1$
SELECT *
FROM OpenDataSource (&Microsoft.Jet.OLEDB.4.0&,
&Data Source=&c:\2.xls&;Extended properties=Excel 5.0&)...Sheet1$
用COPY 不会用的话 查下帮助
相关知识等待您来回答
编程领域专家}

我要回帖

更多关于 vba连接access数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信