我想使用Matlab打开和处理许多Excel文件。任务是将区域复制并粘贴到新Excel工作簿中的新工作表中。通过连续选择行(例如,行1至3)但可能不连续选择列(例如,列1和3)来定义区域。要求是复制粘贴操作应保留注释。
必须保留注释的要求导致我使用ActiveX而不是xlsread和xlswrite。我可以打开,选择一个连续的选择并将其粘贴到一个新文件中,然后保存该文件,但是我无法使选择不连续。
以下几行是关键:
DataRange ='A1:C3'; % Select contiguous selection.
Sheet1.Range(DataRange).Copy; % Select the columns to copy.
Sheet2.Range('A1').PasteSpecial(13); % Paste, including comments.
到目前为止一切都很好,并且代码的行为符合预期。
然后,我尝试修改代码以应对非连续列,如下所示:
DataRange = 'A1:A3, C1:C3'; % Only select first and third columns.
Matlab返回时出现不透明的错误消息(对象返回的错误代码0x800A03EC),而不是达到预期的结果,在该结果中选择并复制了行1至3和A和C列的内容。
很不幸,我的VBA技能不存在,我也不知道如何进行。如果有人可以使用此简单示例将我指向正确的方向,我将不胜感激。