网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月31日漏签0天
excel吧 关注:282,034贴子:1,557,477
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 17回复贴,共1页
<<返回excel吧
>0< 加载中...

求大神指教怎么用VBA把2張表的數據選擇性的貼到另一張總表

  • 只看楼主
  • 收藏

  • 回复
  • 一朵树叶
  • 情投E合
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我一共有三張表:每月出貨數、可樂出貨數、總表
總表中有:表1 和表2 兩個工作表
我要把每月出貨數的:A3:A20000中的數據復制到總表-表1中的:E2:E19999
每月出貨數的:E3:E20000中的數據復制到總表-表1中的:F2:F19999
每月出貨數的:G3:G20000中的數據復制到總表-表1中的:G2:G19999
可樂出貨數的:A6:G20000中的數據復制到總表-表2中的:A6:G20000
然后 關閉 每月出貨數和可樂出貨數,這2張表不需要保存
再問一個問題__
比如:我A1:A2000 中都有公式,這么多公式會很卡,是否可以用VBA 只在A1中有公式,然后其他跟著A1公式走,但是A2:A2000中顯示的是值


  • 一朵树叶
  • 情投E合
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
急求啊~~~~~~~~~~~~~~~~~


2025-12-31 18:34:56
广告
不感兴趣
开通SVIP免广告
  • 硫酸下
  • E夫当关
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
录制宏不行吗


  • 555书生
  • E手遮天
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
又是📖


  • 花间一壶酒
  • E通百通
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这么点数据,复制下不就行了


  • 一朵树叶
  • 情投E合
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我只要知道一个就好了,真的有很多很多报表


  • 一朵树叶
  • 情投E合
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
??


  • 一朵树叶
  • 情投E合
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
up


2025-12-31 18:28:56
广告
不感兴趣
开通SVIP免广告
  • 分级而分级
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
繁体字不太好认,对于vba来说,第一个问题应该是很容易的,包含打开关闭工作簿文件,选择性粘贴。
建议先把步骤分解成若干小步骤,把每一小步骤录制宏操作一下,然后把宏代码提取出来,去掉无用的代码。
比如:包含打开关闭工作簿文件,选择性粘贴等等。


  • 分级而分级
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
打开/关闭文件:
Workbooks.Open Filename:="E:\11111\Book3.xlsx"
Workbooks("Book3.xlsx").Close False
也可以这样关闭:
假设vba代码的文件为第1个,那么就可以把第2个文件关闭:
Workbooks(2).Close False
Workbooks("文件名.xlsx").Close False


  • 分级而分级
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
对于第一个问题,2007版本及以上,操作方法如下:(方法不止一种)
假设3个工作簿文件放在同一个文件夹内:每月出貨數、可樂出貨數、總表;
打开Excel程序,在Sheet1标签上右击、查看代码,然后把以下vba代码粘贴到代码窗口;
把文件保存在相同文件夹内,文件格式为启用宏的工作簿,文件名为:代码;
在Sheet1标签上右击、查看代码,然后按F5或者运行菜单命令,即可执行vba代码。
vba代码,可参考如下:
Sub a()
Dim Y1, Y2, Y3
Set Y1 = Workbooks.Open(ThisWorkbook.Path & "\每月出貨數.xlsx")
Set Y2 = Workbooks.Open(ThisWorkbook.Path & "\可樂出貨數.xlsx")
Set Y3 = Workbooks.Open(ThisWorkbook.Path & "\總表.xlsx")
Y1.Sheets(1).[A3:A20000].Copy Y3.Sheets(1).[E2]
Y1.Sheets(1).[E3:E20000].Copy Y3.Sheets(1).[F2]
Y1.Sheets(1).[G3:G20000].Copy Y3.Sheets(1).[G2]
Y2.Sheets(1).[A6:G20000].Copy Y3.Sheets(2).[A6]
Y1.Close False
Y2.Close False
Y3.Save
End Sub


  • 分级而分级
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
修改13楼vba代码:
使用打开文件对话框来打开文件;
按照每月出貨數、可樂出貨數、總表的先后顺序,每次只打开一个文件。
vba代码,可参考如下:
Sub b()
Dim FileOpen, Y(4)
Dim x As Long
For x = 1 To 3
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xlsx),*.xlsx", MultiSelect:=True, Title:="工作薄")
Set Y(x) = Workbooks.Open(FileOpen(1))
Next x
Y(1).Sheets(1).[A3:A20000].Copy Y(3).Sheets(1).[E2]
Y(1).Sheets(1).[E3:E20000].Copy Y(3).Sheets(1).[F2]
Y(1).Sheets(1).[G3:G20000].Copy Y(3).Sheets(1).[G2]
Y(2).Sheets(1).[A6:G20000].Copy Y(3).Sheets(2).[A6]
Y(1).Close False
Y(2).Close False
Y(3).Save
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 17回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示