# Excel: Höchsten Wert aus Spalte ermitteln



## Gifty43 (7. Mai 2008)

Hallo Zusammen

Ich habe in Excel eine Spalte mit 26000 Dateinamen. Diese Namen sind immer gleich aufgebaut. Beispiel:

060324S001V000

Erste 6 Stellen: Datum
Nächste 4 Stellen: Seitenzahl
Nachste 4 Stellen: Versionsnummer

Nun kann es sein, dass Dateien mit dem gleichen Datum mehrere Seiten haben. Diese Seiten können wiederum in unterschiedlichen Versionen vorhanden sein.

060324S001V000
060324S002V002
060324S003V000
060324S004V003

Es ist mir mittlerweile gelunden, die Anzahl Seiten des selben Datums zu zählen.

Wie kann ich jetzt aber ermitteln, welches die höchste Versionsnummer in diesen vier Seiten ist und diese für alle vier Einträge setzen? (Wäre in diesem Falle V003)

Besten Dank für eure Hilfe.


----------



## Gifty43 (8. Mai 2008)

So, mit Codeschnipseln und Anleitungen bin ich jetzt mal soweit:


```
Const bPosition = 7
Const vPosition = 11
Dim strQuell_Pfad
Dim strQuell_Dateiname
Dim anzBlaetter
 
While objExcel.Cells(Zeile, 2) <> ""
  strQuell_Pfad = objExcel.Cells(Zeile, 1)
  strQuell_Dateiname = objExcel.Cells(Zeile, 2)
  anzahlBlaetter = 1
  index = 1
  highestversion = 0
  versiontemp = 0
   
  If ((InStr(strQuell_Dateiname,"B") = bPosition) And (InStr(strQuell_Dateiname,"V") = vPosition) And (InStr(strQuell_Dateiname,".") = pktPosition)) Then
    While Left(strQuell_Dateiname,BPosition-1) = Left(objExcel.Cells(Zeile+Index, 2),BPosition-1)
      aktzeile = objExcel.Cells(Zeile, 2)
      versiontemp = CInt(Mid(aktzeile,12,3))
          objExcel.Cells(Zeile, 5) = versiontemp
      If (versiontemp > highestversion) Then
       highestversion = versiontemp
      End If
      anzahlBlaetter = anzahlBlaetter + 1
   index = index + 1
    Wend
    objExcel.Cells(Zeile, 3) = anzahlBlaetter
    objExcel.Cells(Zeile, 4) = highestversion
  Else
    objExcel.Cells(Zeile, 3) = 0
    index = index + 1
  End If 
   
  Zeile = Zeile + index
Wend
```
 
Er zählt die Anzahl Blätter und schreibt diese jeweils in eine Spalte daneben in die Zeile des ersten Eintrags einer Serie von mehreren Blättern. In eine soll er jeweils die höchste Versionsnummer schreiben - dies klappt aber nicht ganz. Er schreibt jeweils nur die Versionsnummer des ersten Blattes auf.

Irgendwie habe ich das Gefühl, dass er den String nicht korrekt in eine Zahl umwandelt.

Sticht jemandem von euch gerade das Problem ins Auge?


----------

