Zunächst vielen Dank, für sehr gute Antworten, die ich hier in anderen Themen in der Vergangenheit gefunden habe.MatLab: Dynamisch durch Zellen mit Excel COM-Add-In Iterating
nun auf eine neue Herausforderung:
ich zur Zeit mit dem COM-Add-In in Matlab arbeite, also ich eine Excel-Arbeitsmappe lese und die Farbe der Immobilie zu extrahieren:
excelapp = actxserver('Excel.Application'); %connect to excel
workbook = excelapp.Workbooks.Open('Solutions.xls');
worksheet = workbook.Sheets.Item(1);
ColorValue_Solutions=worksheet.Range('N2').Interior.Color;
Nun, ich Ich möchte dies für Zellen im Bereich A1 bis J222 tun, für die ich die Range-Eigenschaft dyna- matisch durchlaufen möchte, indem ich dem Programm erlaube, jede Zelle einzeln zu lesen und dann die Farbe zu entfernen. Zum Beispiel:
Columns = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};
for j = 1:length(Columns)
for i = 1:222
worksheet.(char(strcat('Range(''',Columns(j), num2str(i), ''')'))).Interior.Color
end
end
Dies jedoch führt zu einem Fehler:
Undefined function or variable 'Range('A1')'.
Ich denke, das Problem ist in der Kombination aus einer Zeichenfolge mit einem eingeschlossenen String zu interpretieren, dh Range ('A1') .
Jede Hilfe wird sehr geschätzt.
Vielen Dank! Das funktioniert perfekt. –