P
hab das Knobelspiel noch erweitert! Er soll immer in die dritte Zeile ne min Formel schreiben in die 4. ne max Formel... immer beziehend auf die Spalte in der er ist. Hab es so gelöst:
CString sStartzelle = "P3";
//Formeln von P - AN
for (int Spaltenanzahl = 0;Spaltenanzahl<=24 ;Spaltenanzahl++)
{
int nStelleZahl = sStartzelle.FindOneOf("0123456789");
CString sStartZeile = sStartzelle.GetAt(nStelleZahl);
sStartZeile = sStartzelle.GetAt(nStelleZahl);
//Formel Min in Zeile 3
range = objSheet.GetRange(COleVariant(sStartzelle),COleVariant(sStartzelle));
Formel.Format("=Min(R[6]C:R[%d]C)",m_iNumRows-3);
range.SetFormulaR1C1(COleVariant(Formel));
//Den Zahlenwert eins hochzählen
sStartzelle.SetAt(nStelleZahl, sStartzelle.GetAt(nStelleZahl)+1);
....
//Formel median in Zeile 17
range = objSheet.GetRange(COleVariant(sStartzelle),COleVariant(sStartzelle));
Formel.Format("=MEDIAN(R[2]C:R[%d]C)",m_iNumRows-17);
range.SetFormulaR1C1(COleVariant(Formel));
//Den Zahlenwert eins hochzählen
sStartzelle.SetAt(nStelleZahl, sStartZeile[0]);
//Buchstaben hochzählen
int nLen = nStelleZahl-1;
if(sStartzelle.GetAt(nLen) == 'Z') //Bei Z geht es mit A weiter
{
sStartzelle.SetAt(nLen, 'A');
if (nLen == 0)
{ // bei einem Buchstaben den zweiten davorpacken
sStartzelle = 'A' + sStartzelle;
}
else
{ // den vorderen hochzählen
sStartzelle.SetAt(0, sStartzelle.GetAt(0)+1);
}
}
else
{
sStartzelle.SetAt(nLen, sStartzelle.GetAt(nLen)+1);
}
}
Puuuh geschafft!