Thema Datum  Von Nutzer Rating
Antwort
29.09.2016 05:13:15 Litscho
NotSolved
Blau Datum in verschiedenen Spalten überprüfen und Werte von anderer Spalte addieren
29.09.2016 21:09:24 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
29.09.2016 21:09:24
Views:
551
Rating: Antwort:
  Ja
Thema:
Datum in verschiedenen Spalten überprüfen und Werte von anderer Spalte addieren

Hallo,

eventuell entspricht diese Lösung den Vorstellungen

Option Explicit

Sub CheckZahlungen()
    Dim rngBetragAll As Range, rngBetrag As Range
    Dim rngTerminAll As Range, rngTermin As Range
    Dim rng As Range
    Dim rngRow As Range
    Dim dblBetrag(11) As Double
    With ThisWorkbook
    
        Set rngBetragAll = .Names("Betrag").RefersToRange
        Set rngTerminAll = .Names("Zahlungstermin").RefersToRange
        
        For Each rngRow In rngBetragAll.Worksheet.UsedRange.Rows
            Set rngBetrag = Intersect(rngBetragAll, rngRow)
            If Not IsEmpty(rngBetrag) Then
                For Each rngTermin In Intersect(rngTerminAll, rngRow).Cells
                    If Not IsEmpty(rngTermin) Then
                        If IsDate(rngTermin) Then
                            If DateDiff("d", Now, rngTermin) > 0 Then
                                dblBetrag(DatePart("m", rngTermin) - 1) = dblBetrag(DatePart("m", rngTermin) - 1) + rngBetrag.Value
                            End If
                        End If
                    Else
                        Exit For
                    End If
                Next
            Else
                Exit For
            End If
        Next
    End With
    
    
    ' Ausgabe
    
    Dim i As Integer
    Debug.Print "Anstehende Zahlungen:"
    For i = 0 To 11
        If dblBetrag(i) <> 0 Then
            Debug.Print "Monat " & Format(DateSerial(2000, i + 1, 1), "mmmm") & ": " & dblBetrag(i); " Euro"
        End If
    Next
End Sub


Diese Lösung setzt voraus, dass in der Arbeitsmappe zwei Namensbereiche vorhanden sind:

Betrag: Spalte mit allen Beträgen

Zahlungstermin: Spalten 1 - 12 mit allen Datumswerten der Termine (1 = Januar bis 12 = Dezember)

----------------------------

Beim Aufruf der "CheckZahlungen" - Routine werden alle Zeilen in der Tabelle durchlaufen. Bei den ausstehenden Beträgen werde diese zusammenaddiert und in einem Array gespeichert.

Am Ende wird der Inhalt des Arrays im Direktberech des VBA-Editors ausgegeben.

Die Ausgabe kann auch in eine Tabelle ausgeben werden.

Eine Beispieldatei kann unter dieser URL heruntergeladen werden: https://www.dropbox.com/s/e6kesu9qvxk3cbh/Zahlungen.xlsm?dl=0


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.09.2016 05:13:15 Litscho
NotSolved
Blau Datum in verschiedenen Spalten überprüfen und Werte von anderer Spalte addieren
29.09.2016 21:09:24 BigBen
NotSolved