Makros in Excel

  • #1
S

SchmidtMarco

Guest
Hallo zusammen,

ich habe ein kleines Problem. Ich importiere eine Tabelle in MS-Excel. In dieser Tabelle sind Datum und Stückzahlen hinterlegt. Nun möchte ich ein Makro laufen lassen, das die Stückzahlen zu jedem Datum ausliest und, falls es sich um ein identisches Datum handelt, die Stückzahlen addiert und die Einträge mit den doppelten Daten entfernt. Letzteres ist kein Problem, aber wie kann ich die Stückzahlen für das jeweils gleiche Datum addieren?

Gruß, Marco
 
  • #2
Hallo SchmidtMarco,

ich nehme an es gibt eine Spalte Datum und eine Stückzahl.

Den Ablauf der Makros würde ichso gestalten:

- Tabelle importieren
- Tabelle nach Datum sortieren
- rückwärts über alle Zeilen laufen
    - wenn Datum der akt. Zeile = Datum der davorliegenden:
    Stückzahl auf Stückzahl der davorliegenden aufaddieren
    akt. Zeile löschen

Gruß Matjes :)
 
  • #3
Hallo nochmal,

erstmal danke für die Hilfe. Ich hatte zwar noch nie mit Makros gearbeitet, aber ein gutes EBook hat weitergeholfen. Jetzt habe ich das Makro zwar so weit, dass es das macht, was ich will, allerdings hat sich noch irgendwo ein Fehler eingeschlichen. Sobald ich ein unterschiedliches Datum habe, aber noch immer das Gleiche StrCell, lässt das Makro den letzten Wert des alten Datums aus. Woran kann das liegen?

Quellcode des Markos:

IntCount = 1
IntCount2 = 2

While Cells(IntCount, 5) <> Ende

->Setzen von StrCell auf Zelle mit Index
StrCell = Cells(IntCount, 5)

->Datumsüberprüfung
While Cells(IntCount, 3) = Cells(IntCount2, 3)

StrCell = Cells(IntCount, 5)

->Prüfe ob StrCell festgelegtem Wert entspricht
If StrCell = StrAF Then

->Erhöhen der Menge des zugehörigen Datums
StrMengeTAF = StrMengeTAF + Cells(IntCount, 13)

Else

->Wenn das Datum unterschiedlich ist, -> nächster Kommentar
While Cells(IntCount, 3) <> Cells(IntCount2, 3)

->prüfe, ob das Werk trotzdem gleich geblieben ist
If StrCell = StrAF Then

->Wenn ja, setze Menge des alten Datums wieder hoch
StrMengeTAF = StrMengeTAF + Cells(IntCount, 13)

End If

Wend

End If

->Erhöhen der Indexvariablen
IntCount = IntCount + 1
IntCount2 = IntCount2 + 1

Wend

->Ausgabe der Gesamtmenge eines Tages, Erhöhen der Indexvariablen und Zurücksetzen der Gesamtmenge, falls StrCell noch nicht = Ende ist
MsgBox (StrMengeTAF & Achsen am & Cells(IntCount - 1, 3))
IntCount = IntCount + 1
IntCount2 = IntCount2 + 1
StrMengeTAF = 0

Wend


Danke für die Hilfe!
 
  • #4
Hallo zum Letzten in diesem Thema,

hat sich gerade alles geklärt...Ich habe einfach nach der zweiten While-Schleife noch eine IF-Abfrage gemacht, ob das Datum unterschiedlich ist und falls dies der Fall ist, nochmal StrCell überprüft und danach die Menge hochgesetzt. Dann funktioniert es.

Danke für die Hilfe!!

Gruß, Marco
 
Thema:

Makros in Excel

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben