append new rows in the middle of an excel file's sheet

5 次查看(过去 30 天)
I am working on an excel file using actx function
then I want to add some rows in the middle of the sheet
is there a way to solve this ?
Captureaa.PNG

采纳的回答

Guillaume
Guillaume 2019-4-26
Probably the easiest way to find out the code you need to use is to record a macro in excel while you do the insertion and fix the formatting (which excel will inevitably mess up). The code you then use in matlab will be more or less identical to the VBA code generated by the macro (with adjustments for the difference in language syntax).
  2 个评论
Guillaume
Guillaume 2019-4-28
For some reasons, I never saw your comment until today.
Once you've connected to excel with actxserver you use more or less the same commands in matlab as you would in VBA. So, yes:
excel = actxserver('Excel.Application'); %connect to excel
wb = excel.Workbooks.Open('C:\somewhere\somefolder\somefile.xlsx');
ws = wb.Worksheets.Item('Sheet1'); %One major difference is that you HAVE to use the Item property to access elements of collections
rg = ws.Range('1:4');
rg.Insert(-4121); %The other difference is that you have to use numeric values for constants. -4121 is the numeric value of XlShiftDown

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import from MATLAB 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by