Anzeige
Archiv - Navigation
1388to1392
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
Inhaltsverzeichnis

VBA Summieren mit Bedingung

VBA Summieren mit Bedingung
29.10.2014 18:09:24
Kelem
Hallo liebe Community,
ich bin mit einer Aufgabe konfrontiert, die ich leider mit meinen bescheidenen VBA-Kenntinissen nicht lösen kann. Was ich gerne erreichen möchte, ist folgendes:
Ich habe eine Bestandstabelle mit zwei Spalten. In der erten Spalte A, die beliebig viele Zeilen haben kann, habe ich die Artikelbezeichnung, in der zweiten Spalte B habe ich die dazugehörige Stückzahl. Daneben, d.h. in Spalten D und E habe ich eine weitere Tabelle, die ähnlich aufgebaut ist wie die in Spalten A und B. Nun möchte ich die erste Bestandstabelle aktualisieren können und zwar so, dass mein Makro sich die Artikelbezeichnungen aus der zweiten Tabelle anschaut, diese mit den Bezeichnungen aus der ersten Bestandstabelle vergleicht und bei Übereinstimmungen die Stückzahl aus der ersten Tabelle genau um die Stückzahl erhöht, die in der zweiten Tabelle zu finden ist.
Kurz zusammengefasst - die erste Tabelle soll einfach aktualisiert werden, indem sie sich auf die Daten aus der zweiten Tabelle bezieht (eventuell ein Update CommandButton?).
Wird die erste Tabelle aktualisiert, so sollen die Daten aus der zweiten Tabelle automatisch gelöscht werden, damit ich dort manuell erneut Daten eintragen kann, die später ebenfalls der ersten Bestandstabelle zugeordent werden können. Es wäre auch ganz toll, wenn ich mittels eines Reset-Buttons auf die Ausgangswerte in der Bestandstabelle zurückkehren könnte. Diese werden von mir manuell eingetragen. Sie sind fix und sollten einfach aktualisiert werden.
Ich hoffe, dass ich mein Problem ausführlich, jedoch nicht ganz verwirrend schildern konnte. Ich bedanke mich ganz herzlich für Ihre Hilfe im Voraus!!!
P.S: zum besseren Verständis habe ich die Excel-Datei angehängt (https://www.herber.de/bbs/user/93455.xlsx)
Vielen lieben Dank!!!
Kelem

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Summieren mit Bedingung
30.10.2014 11:22:45
Beverly
Hi Kelem,
zu Teil 1:
Sub Summieren()
Dim lngZeile As Long
Dim lngZiel As Long
Dim lngLetzte As Long
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 4)), Cells(Rows.Count, 4).End(xlUp).Row, Rows. _
Count)
For lngZeile = 2 To lngLetzte
If Not IsError(Application.Match(Cells(lngZeile, 4), Columns(1), 0)) Then
lngZiel = Application.Match(Cells(lngZeile, 4), Columns(1), 0)
Cells(lngZiel, 2) = Cells(lngZiel, 2) + Cells(lngZeile, 5)
End If
Next lngZeile
Range(Cells(2, 4), Cells(lngLetzte, 5)).ClearContents
End Sub
zu Teil 2: wenn du die Ausgansdaten wieder herstellen willst, musst du sie vor der Veränderung irgendwo "archivieren", denn nach dem Summieren sind die Ausgangswerte ja weg.


Anzeige
AW: VBA Summieren mit Bedingung
30.10.2014 11:46:24
Kelem
Vielen Dank, Beverly!!!
Ich werde jetzt versuchen den Code nachzuvollziehen!
Was mir gerade einfällt.. Wenn ich die Ausgangsdaten archivieren muss, und das mach ich auf jeden Fall, könnte ich da nicht die Zahlen, die durch Addition aktualisiert werden, durch Subtraktion anschließend auf die Ausgangswerte zurückbringen? Obwohl, wenn ich beispielsweise 2-3 mal hintereinander ein Update durchführe, müsste ich das mehrmals subtrahieren, oder? War nur ein Vorschlag, ich habe nicht so viel Wissen wie schwer das bei der Umsetzung ist. Sprich, wenn das extrem schwierig sein sollte, kann ich mir das auch erspraren. Aber Deine Meinung würde mich schon interessieren :)
Vielen Dank für den Code! Ich weiß deine Hilfe zu schätzen!
Gruß
Kelem

Anzeige
AW: VBA Summieren mit Bedingung
30.10.2014 12:08:42
Beverly
Hi Kelem,
du kannst - aus meiner Sicht - 2 Wege gehen: 1. du archivierst die Ausgangsdaten (irgendwo im Tabellenblatt), damit du sie wieder zurückholen kannst, oder 2. du archivierst (irgendwo im Tabellenblatt) die Summe der Werte, die du zu den Ausgangsdaten addiert hast, damit du am Ende diese von den Enddaten subtrahieren kannst. Wesentlich einfacher ist Variante 1.


AW: VBA Summieren mit Bedingung
30.10.2014 12:29:18
Kelem
Hi, Beverly!
Danke! Ich werde mich für die Variante 1 entscheiden :) Danke für Deine Hilfe!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige