Ich habe diese Frage auch bei Herber.de/forum gestellt. Dort konnte oder wollte man mir nicht helfen.
Als absoluter VBA Anfänger nützt es mir nichts einfach nur irgendwelche Änderungen anzugeben. Am besten ist es die Änderungen direkt in den Code einzufügen und mir dann alles zukommen zu lassen. Ich füge dann den alten und den neuen Code in eine Excel Mappe nebeneinander ein und schaue dann was geändert wurde. (oder Änderungen fett markieren)
Hallo Forum,
ich hab mir mit der Hilfe von Herber.de/forum ein Makro erstellt das die Dateinamen von Excel Dateien ausliest. Soweit geht das ganz gut.
Am Ende der Tabelle wird dann eine Gesamtsumme berechnet.
Nun meine Frage.
Bei Erstellung bis zu 3 Rechnungen erscheint eine Meldung von "Visual Basic " - "400". Bei Erstellung von 4 Rechnungen steht unter der Tabelle "Summe - €" Erst wenn ich 5 Rechnungen oder mehr erstellt habe ist alles OK.
Woran liegt das ??
Ich möchte schon bei Erstellung einer einzigen Rechnung die Summe unten angezeigt bekommen
Hans
Hier das Makro
Sub dateinameneinlesen1()
Dim strPfad As String, strDatnam As String
Dim neueZeile As Long, strTemp, i As Integer
'Erst der Pfad
strPfad = "C:\Recycling\Rechnungen\"
strDatnam = Dir(strPfad & "*.xlsm")
'ersteZeile für das Ergebnis
neueZeile = 6
'alte Daten löschen
Rows(neueZeile).CurrentRegion.Rows.Delete Shift:=xlUp
Do While Len(strDatnam)
'Dateinamen (ohne Endung und €-Zeichen) aufteilen, _
Trennzeichen ist " - "
strTemp = Split(Left(strDatnam, Len(strDatnam) - 6), " - ")
'Prüfen ob Datei mit angegebenen Datum übereinstimmt
If strTemp(1) = Format(Range("A1"), "dd.mm.yyyy") Then
'Daten eintragen:
For i = 0 To UBound(strTemp) - 1
Cells(neueZeile, i + 1) = strTemp(i)
Next
Cells(neueZeile, i + 1) = CCur(strTemp(i))
Cells(neueZeile, i + 1).Style = "Currency"
neueZeile = neueZeile + 1
End If
strDatnam = Dir
Loop
Cells(neueZeile, i) = "Summe"
Cells(neueZeile, i + 1).Style = "Currency"
Cells(neueZeile, i + 1).FormulaR1C1 = "=SUM(R[-" & neueZeile - 10 & "]C:R[-1]C)"
End Sub
|