作者simon552614 (阿翔)
看板Office
标题[算表] VBA的矩阵输出(入)
时间Thu Mar 14 22:40:38 2019
软体: Excel
版本:2010
为方便说明,Option base 1
假设矩阵A(100*100),储存格资料也有100*100
可以用A=range(...)很快放进去
Q1:
那今天只想把资料range("E5:G10")放进去A的某个中间区块,该怎麽写呢?
除了for回圈有更快的方法吗?
因为以前用过Matlab,就有A(8:13,7:9)=资料,这样的方法
Q2:
跟上面相反过来,在VBA里面已经有计算完的A矩阵,
该怎麽把A的8~13列7~9栏,显示在储存格,同样想用避开for回圈的方法
目前Q2只试出用range(...)=worksheetFunction.Index(A,列数,0)
可是这样整列都会输出,不是我想要的结果
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.227.134.116
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1552574445.A.0EF.html
1F:→ soyoso: 问题2,application.index(A,[row(8:13)],[column(g:i)]) 03/14 23:07
2F:→ soyoso: 问题1,如不要回圈的话,range=A,range=range("e5:g10"). 03/14 23:58
3F:→ soyoso: value,最後A=range 03/14 23:58
4F:→ simon552614: Q2解决了,但Q1好像只能放在A矩阵左上角吗!? 03/16 23:18
5F:→ simon552614: Dim A#(5,5),想用Q2的想法对调等号↓↓ 03/16 23:20
6F:→ simon552614: A([row(2:4)], [column(2:4)]) = Range("F3:H5") 03/16 23:21
7F:→ simon552614: 可解否? 03/16 23:24
8F:→ soyoso: 只能放左上角?什麽意思? 03/17 01:07
9F:→ soyoso: Q1以Q2方面并无查到,不确定是否也可以该方式达成 03/17 01:08
10F:→ simon552614: 请问上面row(8:13)想用row(i,j)会报错,该怎麽改呢? 03/19 01:21
11F:→ soyoso: 以evaluate 03/19 07:25