Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

hilfe

hilfe
28.01.2004 10:54:41
lisa
hallo,
letztens hatte ich folgende frage gestellt ("ich habe drei tabellen in der jeweils in spalte A ein datum ist und in spalte B ein betrag ist. die beträge von tabelle 1 sollen um den jeweiligen betrag der tabelle 2 abgezogen werden, sofern das datum (tabelle1!A1-64000=tabelle2!A1-64000) identisch ist. wenn das datum nicht identisch ist, soll nur tabelle 1 quasi in tabelle 3 kopiert werden. und das soll zeilenweise bis zum ende geschehen und in tabelle drei ausgegeben werden mit datum und betrag. kann mir da jemand helfen???"), die mir auch flugs kompetent beantwortet wurde.
nur leider ist mir ein fehler unterlaufen, bei der fragenformulierung.
folgende eingabe

=wenn(tabelle1!a1=tabelle2!a1;tabelle1!b1-tabelle2!b1;tabelle1!b1)

soll nicht zeilenweise erfolgen nicht immer nur b1- b1 oder b45-b45, sondern da wo das datum gleich ist, sollen die zellen von einander abgezogen werden. unabhängig von der zeile.
ist das möglich?
ciao
lisa

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hilfe
28.01.2004 11:53:47
Lars
Hallo Lisa,
wenn ich deine Frage richtig verstanden habe steht in Tabelle1 zu Jedem Datum ein Ausgangswert und von dem soll die Summe aller Werte an diesem Datum aus Tabelle 2 abgezogen werden.
Versuch mal folgendes Makro

Sub test()
Dim i, j As Integer
Dim wert2  As Integer
i = 1 ' Zeilenzähler für Tabelle1 und Tabelle3
j = 1 ' Zeilenzähler für Tabelle2
While (Worksheets("Tabelle1").Range("A" & i).Value <> "") ' Solange in Tabelle1 - SpalteA ein Wert steht zeilenweise vergleichen
j = 1 ' Zeilenzähler von Tabelle 2 auf erste Zeile setzen
wert2 = 0 ' Summe der Werte an dem Datum der Zeile
While (Worksheets("Tabelle1").Range("A" & j).Value <> "") ' Solange in Tabelle2-Spalte 1 ein Wert steht zeilenweise vergleichen
If (Worksheets("Tabelle1").Range("A" & i).Value = Worksheets("Tabelle2").Range("A" & j).Value) Then ' Wenn die Datumswerte der Tabellen 1 und 2 gleich sind, dann ...
wert2 = wert2 + Worksheets("Tabelle2").Range("B" & j).Value ' ... Summe bilden, der Werte
End If
j = j + 1 ' nächste Zeile in Tabelle2
Wend
Worksheets("Tabelle3").Range("A" & i).Value = Worksheets("Tabelle1").Range("A" & i).Value ' In Tabelle3 das DAtum aus Tabelle1 übernehmen
Worksheets("Tabelle3").Range("B" & i).Value = Worksheets("Tabelle1").Range("B" & i).Value - wert2 ' In Tabelle3 den Wert aus Tabelle1 minus der Summe der Werte aus Tabelle2
i = i + 1 ' nächste Zeile in Tabelle1
Wend
End Sub

Ist sicher nicht die optimale Lösung, vor allem, wenn du tausende Werte hast wird es sehr langsam
Grüße Lars
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige