range=sheet.GetRange(COleVariant(_T("H8")),COleVariant(_T("H8"))); 
// range=sheet.GetRange(variant_t((long)8),variant_t((long)8));
range.SetFormula(COleVariant(_T("=AVERAGE(D4:G4)")));range=sheet.GetRange(variant_t((long)8),variant_t((long)8));这个为什么不行,。。
sheet.GetRange(COleVariant(_T("H8")),COleVariant(_T("H8"))); 这个为什么可以? 但是怎么用循环来改变单元格的引用怎么用循环来改变单元格的引用是怎么用循环来改变单元格的引用是怎么用循环来改变单元格的引用

解决方案 »

  1.   

    因为Excel的单元格是按行和列确定的,H8中"H"确定了列,8确定了行,所以这是必须的,比如你要循环第1行到第20行中的A到G列,则用如下代码:for(int i = 1; i <= 20; i++)
    {
        char c = 'A';
        for(int j = 0; i < 7; i++)
        {
            CString strCell;
            strCell.Format("%c%d", c + j, i);
            range=sheet.GetRange(COleVariant(_T(strCell)),COleVariant(_T(strCell)));
        }
    }