Herbers Excel-Forum - das Archiv

Rechnungsnummer und Probleme mit MID

Bild

Betrifft: Rechnungsnummer und Probleme mit MID
von: Christian Hanke

Geschrieben am: 22.12.2006 23:28:50
Hallo, dank der tollen Unterstützung von Daniel Eisert bin ich jetzt bereits soweit mit meinem Makro, dass die Dateinamen eines Verzeichisses nach einer sechstelligen Nummer durchsuchen soll, die immer mit 100 beginnt und unter allen Nummern den Maximalwert ermitteln soll, gekommen. Allerdings akzeptiert der Debugger den Befehl mid nicht. Könnte bitte mal einer drüber schaun und mir sagen, wo der Fehler liegt?
Vielen Dank und frohe Weihnachten!!
Sub test()
Dim i As Integer
Dim zk As Integer
Dim strDatei As String
Dim rechnummer As String
Dim nummax As Integer
With Application.FileSearch
.NewSearch
.LookIn = "D:\projekt\"
.Filename = "*.doc"
.SearchSubFolders = False
If .Execute(SortBy:=msoSortByFileName, sortorder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
strDatei = .FoundFiles(i)
zk = InStr(1, strDatei, "100")
rechnummer = Mid(strDatei, zk, 6)
rechnummer2 = CInt(rechnummer)
If rechnummer2 > nummax Then nummax = rechnummer2
Next i
End If
End With
End Sub

Bild

Betrifft: AW: Rechnungsnummer und Probleme mit MID
von: Daniel Eisert

Geschrieben am: 22.12.2006 23:50:56
Hallo
so spontan kann ich bei mid keinen Fehler finden.
das einzige ist, daß die Aktuelle Datei keine Rechung ist, sondern ein anderes Worddokument, daß nicht die "100" im Dateinamen enthält.
Dann ist ZK = 0 und mit 0 kann MID nichts anfangen, das gibt einen Fehler.
Wenn deine Dateiauswahl also nicht nur Rechnungen enthält, müsstets du hier noch ne if-Abfrage einbauen, um diesen Fehler abzufangen.
2. Fehler: rechnummer2 ist noch nicht dimensioniert.
bitte Option explicit verwenden, damit müssen alle Variablen deklariert werden. Ist etwas lästig, vermeidet daber aufwendige Fehlersuche bei Tippfehlern.
3. Fehler rechnummer2 und nummax müssen als LONG(integer) derklariert werden.
INTEGER geht von -32.000 bis c.a. +32.000. Deine Variablen können aber größer werden da sie 6-stellig sind (0 bis 999.999)
Gruß, Daniel
Bild

Betrifft: AW: Rechnungsnummer und Probleme mit MID
von: Jan
Geschrieben am: 22.12.2006 23:53:27
Hi,
teste mal die Verweise im Editor auf Gültigkeit.
mfg Jan
Bild

Betrifft: AW: Rechnungsnummer und Probleme mit MID
von: Chris
Geschrieben am: 23.12.2006 00:55:49
Hi,
schätze zk ist null daher der Fehler mit "Mid", gehe mal bei der Fehlermeldung auf debuggen und mit dem Mauszeiger auf die variable zk, dann siehst du welchen Wert sie hat.
Grüße
Chris
Bild

Betrifft: AW: Rechnungsnummer und Probleme mit MID
von: Christian Hanke
Geschrieben am: 23.12.2006 01:38:08
Vielen Dank, es funktioniert jetzt. Lang wohl am long. Frohe Weinachten!
 Bild
Excel-Beispiele zum Thema "Rechnungsnummer und Probleme mit MID"
Laufende Rechnungsnummer Rechnungsnummer aus sequentieller Datei übernehmen
Rechnungsnummer in Registry eintragen, auslesen, löschen