Einzelnen Beitrag anzeigen

Khanysha

Registriert seit: 11. Jun 2015
Ort: Dunkeldeutschland
23 Beiträge
 
Delphi 7 Professional
 
#5

AW: Excel,Spaltenkonvertierung, Übergang zu nächstem Buchstaben

  Alt 8. Sep 2015, 10:40
Im Falle von 52 und aller anderen vielfachen von 26 ist AColumn mod 26 = 0 und das Ganze bricht ab. Mit der folgenden Änderung würde es glaub ich funktionieren:

Delphi-Quellcode:
function MS_EXCEL_ConvertColumn(AColumn: Integer): String;
begin
  Result := '';
  while AColumn > 0 do
  begin
    if AColumn <= 26 then
    begin
      Result := Result + Chr(AColumn + 64);
      Dec(AColumn, 26);
    end
    else
    begin
      Result := Result + Chr((AColumn -27) div 26 + 65); // Mit dieser umgeschrieben Zeile habe ich schon mal bei 'AZ' nur A statt B, jetzt fehlt mir noch das Z dahinter
      AColumn := AColumn mod 26;
      if AColumn=0 then
        Result:=Result+'Z';
    end;
  end;
Hier bitte aber bedenken, dass das nur bis Spalte ZZ funktioniert (=27*26 Spalten). Excel geht aber mittlerweile bis XFD, d.h. wenn da mal Gefahr besteht, das ihr so richtig viele Spalten braucht, muss die Funktion nochmal verbessert werden.
Jetzt war ich so tief in meinen Hirnwindungen das ich das total überlesen haben, die Sache mit dem Z dranhängen hatte ich auch versucht, aber ich habe anscheinend nicht den richtigen Weg genommen, schaue mir das nochmal genauer an. Dir natürlich auch Danke für die Antwort.

LG
Lizzy
  Mit Zitat antworten Zitat