【发布时间】:2013-09-07 10:58:28
【问题描述】:
在 MATLAB 中,我使用 ActiveX 从 excel 文件中导入多列数据。每列的长度不同且未知。因此我不知道该放什么单元格范围。
Range = get(hSheet5, 'Range', '??:??');
matlab 有没有办法检测列的长度,以便在导入时知道要放置的单元格范围?
【问题讨论】:
-
我不知道 Matlab 和 ActiveX 怎么样,但在与 Excel 的任何形式的集成中都有办法做到这一点。在您的工作表对象中,您需要做的就是:
aWorksheetObject.UsedRange.Columns.Count(或Rows)。不确定这是否相关,所以希望它有所帮助。 -
另外:stackoverflow.com/questions/3244863/… 可能有助于获取特定列的长度(它似乎没有 ActiveRange 属性,至少在 python 中)。
-
@AleksanderLidtke 是的,这是有效的。但是,它给了我工作表上最大列的行数。有没有办法修改它,让它给我我想要的任何列的行数?
-
您是否看过这篇建议使用类似
Range("A1").End(xlDown).Row(或任意列的顶部单元格)的帖子?这行得通吗? -
@AleksanderLidtke 哎呀!我的意思是,是的,您的建议(或者更确切地说是您链接到的页面上的建议)效果最好。我使用的解决方案是
lastcol=hSheet6.Range(irange).End('xltoRight').Column(所以我删除了我之前的评论)。如果你愿意,可以把它作为答案。