0

最初のセルに値が指定されている列 (ProfitSheet を除く各シート) を検索し (常に存在し、シートごとに 1 つだけ)、列を別のシートにコピーする必要があります。つまり、そのようなもの:

for i := 2 to MsExcel.Sheets.Count do // sheets loop. Sheets[1] —  ProfitSheet
begin
  MsExcel.Sheets[i].Select;
  for j := 1 to 15 do // columns loop to find "Profit column"
    if MsExcel.Cells[1, j].Text = 'Profit' then
      // copy j column, usually I use something like 
      // VariantArr := MsExcel.Range[MsExcel.Cells[1, j], MsExcel.Cells[299, j]].Value
      // and then 
      // Range := MsExcel.Range[MsExcel.Cells[1,i], MsExcel.Cells[299, i]];
      // Range.Value := VariantArr;
      // but I don't know how to find last column's cell (where 299)
  MsExcel.Sheets['ProfitSheet'].Select;
  // copy col to the i column of ProfitSheet
end;
4

0 に答える 0