Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4330|回复: 3

求问如何让多个工作表中的指定内容自动填充到另一个工作表中?

[复制链接]
发表于 2019-3-15 00:44 | 显示全部楼层 |阅读模式
我想让3901-3950.xls中多个工作表里面的关键财务比率内容(行数不固定)按工作表顺序顺序复制黏贴并转置到另一个工作表(数据整理)里。但代码一直报错,显示重复在C3的位置黏贴,不能自动往下走。求求各位大佬帮忙看一下是哪里出错了?代码如下:
Sub 关键财务比率()
Dim x As Integer
For x = 1 To Sheets.Count
      myPath = "F:\科研 实验\3901-3950 new.xlsx"
     workbooks("3901-3950 new").Activate
      my_original_sheet = Sheets(x).Name
      my_working_sheet = "关键财务比率151-1500"

  Dim start_nanme As String
      start_name = "关键财务比率"
  Dim end_name As String
      end_name = "重要变量演变"

     Set original = Workbooks.Open(myPath)
     Sheets(my_original_sheet).Activate
     start_row = Cells.Find(what:=start_name).Row
     end_row = Cells.Find(what:=end_name).Row
     end_column = Cells(start_row + 2, Columns.Count).End(xlToLeft).Column


  Dim rng_financialratio As Range

     Set rng_financialratio = Range(Cells(start_row + 1, 1), Cells(end_row - 1, end_column))

     rng_financialratio.Copy
     ThisWorkbook.Activate
     b = Worksheets(my_working_sheet).Rows.Count
     Worksheets(my_working_sheet).Range(Cells(b+1,3)).PasteSpecial Transpose:=True

Next x

End Sub







具体事项效果

具体事项效果

科研 实验.zip

444.7 KB, 下载次数: 9

具体数据

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-3-15 16:13 | 显示全部楼层
b = Worksheets(my_working_sheet).Rows.Count这句中b的取值不能这样取。应该用 b = Worksheets(my_working_sheet).range("c65536").end(xlup).row这样的。当然不一定是c65536,这是我随便输入的,你看哪列合适用哪个列号
回复

使用道具 举报

 楼主| 发表于 2019-3-15 22:16 | 显示全部楼层
高 发表于 2019-3-15 16:13
b = Worksheets(my_working_sheet).Rows.Count这句中b的取值不能这样取。应该用 b = Worksheets(my_working ...

我把b取值代码换成你写的了,运行的时候又说“运行程序定义或对象定义错误”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 23:13 , Processed in 0.264496 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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