24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 3252  |  回复: 12

wind5fsa

金虫 (小有名气)

[求助] matlab读取excel多个sheet数据,处理并重新保存,高价求教高人已有6人参与

原excel文档中有数百个sheet,  现在想要matlab读入该文档所有sheet的信息,获取每个sheet的B3和B4位置的数据,再把每个sheet名和对应的B3和B4位置的数据写到一个新的excel里面(保存在一个sheet). 格式是:新excel表格的D6位置对应源文件的第一个sheet名字,E6和F6分别是对应的sheet里面B3和B4位置的数据, 然后D7是下一个sheet名,E7和F7是源文件对应sheet里面B3和B4位置的数据,依次类推。原excel和新文件示意图分别如下图1图2。多谢!

matlab读取excel多个sheet数据,处理并重新保存,高价求教高人
1.jpg


matlab读取excel多个sheet数据,处理并重新保存,高价求教高人-1
2.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

祝福
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

isityou

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
wind5fsa: 金币+100, ★★★很有帮助, 谢谢! 2014-03-24 23:07:28
通过VBA解决,下面是实例代码。假设你有100个工作表,现在把第k个工作表名称取出来放在第101个表的第k行第1列,
把第k个工作表的b3的值放在第k行第2列,把第k个工作表的b4的值放在第k行第3列。
Sub main()到底
Dim i As Integer
For i = 1 To 100
Worksheets(101).Cells(i, 1).Names = Worksheets(i).Name '跨工作表引用
Worksheets(101).Cells(i, 2) = Worksheets(i).Cells(3, 2)   '跨工作表引用
Worksheets(101).Cells(i, 3) = Worksheets(i).Cells(4, 2)   '跨工作表引用
Next i
End Sub
5楼2014-03-24 13:29:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

asmeng

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
用excel宏就可以了,如果你不知道怎样写宏语言,可以录制宏,看它生成的语句来写。

» 本帖已获得的红花(最新10朵)

2楼2014-03-21 20:07:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

wind5fsa

金虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by asmeng at 2014-03-21 20:07:27
用excel宏就可以了,如果你不知道怎样写宏语言,可以录制宏,看它生成的语句来写。

谢谢!我试了试,没整出来,感觉还是编个matlab程序一直放那比较方便
祝福
3楼2014-03-21 20:13:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

morphine

金虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
内容已删除
4楼2014-03-22 10:01:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

isityou

金虫 (小有名气)

【答案】应助回帖

引用回帖:
5楼: Originally posted by isityou at 2014-03-24 13:29:24
通过VBA解决,下面是实例代码。假设你有100个工作表,现在把第k个工作表名称取出来放在第101个表的第k行第1列,
把第k个工作表的b3的值放在第k行第2列,把第k个工作表的b4的值放在第k行第3列。
Sub main()到底
D ...

抱歉,修改一句,
Worksheets(101).Cells(i, 1).Names = Worksheets(i).Name
改为
Worksheets(101).Cells(i, 1) = Worksheets(i).Name
6楼2014-03-24 13:42:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lixinwen000

木虫 (正式写手)

引用回帖:
5楼: Originally posted by isityou at 2014-03-24 13:29:24
通过VBA解决,下面是实例代码。假设你有100个工作表,现在把第k个工作表名称取出来放在第101个表的第k行第1列,
把第k个工作表的b3的值放在第k行第2列,把第k个工作表的b4的值放在第k行第3列。
Sub main()到底
D ...

我有一个小疑问,如果这100个Worksheets分布在100个excel文件里面又该用什么语句?
另外我对编程语言很感兴趣,有一定的VB、C、Fortran基础,但对宏没有动手实践过,希望能够多多指教
静水流深
7楼2014-03-24 17:44:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

isityou

金虫 (小有名气)

引用回帖:
7楼: Originally posted by lixinwen000 at 2014-03-24 17:44:45
我有一个小疑问,如果这100个Worksheets分布在100个excel文件里面又该用什么语句?
另外我对编程语言很感兴趣,有一定的VB、C、Fortran基础,但对宏没有动手实践过,希望能够多多指教...

百度不是最好的老师,但一定是最全的老师。
给个简单例子,通过索引。
Sub main()
For i = 1 To 100
Workbooks(101).Worksheets(1).Cells(i, 1) = Workbooks(i).Worksheets(1).Cells(1, 1)
Next i
End Sub

应该能看懂吧。
8楼2014-03-24 22:56:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lixinwen000

木虫 (正式写手)

引用回帖:
8楼: Originally posted by isityou at 2014-03-24 22:56:59
百度不是最好的老师,但一定是最全的老师。
给个简单例子,通过索引。
Sub main()
For i = 1 To 100
Workbooks(101).Worksheets(1).Cells(i, 1) = Workbooks(i).Worksheets(1).Cells(1, 1)
Next i
End Sub
...

可以领会到语句的意思,VB的语法应该不成问题,我是想系统的学习宏里面用到的关键词,有没有什么比较好的教材或者学习资料可以推荐的?
静水流深
9楼2014-03-25 00:15:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

isityou

金虫 (小有名气)

【答案】应助回帖

教才什么的好说,随便那本看懂了就行,只要有编程基础,查查VBA相关参考书就行。用到就查,没必要记住。

[ 发自手机版 http://muchong.com/3g ]
10楼2014-03-26 00:48:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wind5fsa 的主题更新
信息提示
请填处理意见