Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Frage an die Softwareexperten!

Frage an die Softwareexperten!
25.09.2004 23:22:09
Jens
Hallo liebe Leute!
ich habe mir ein Excel File gebastelt, dass schon folgendes kann...
Bestellungsemails aus outlook ausparsen und die daten in excel einfügen.
Nun möchte ich folgendes realisieren, wobei ich noch nicht genau weiss, welche ansätze dazu möglich wären...
wenn der kunde zwei oder mehrere bestellungen gemacht hat (die transaktionsdaten zur gesamten bestellung befinden sich in jeweils einer zeile), sollen diese irgendwie gruppiert/oder visualisiert werden, sodass man auf einen blick erkennen kann dass diese zusammengehören.
welche idee habt ihr dafür? ich kann so einiges mit vba realisieren, jedoch sind mir alle möglichkeiten von excel noch nicht vollständig bekannt. ich denke spontan an eine farbliche hinterlegung...
beste Grüße
Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage an die Softwareexperten!
25.09.2004 23:27:14
Oberschlumpf
Hi Jens
Kannst Du bitte mal ein Bsp posten, damit wir sehen können, wie eine Bestellung bei Dir ankommt?
Danke.
Ciao
Thorsten
AW: Frage an die Softwareexperten!
25.09.2004 23:28:41
Oberschlumpf
Hab was vergessen...
Füge doch zu dem Bsp bitte auch die notwendigen Erklärungen hinzu....welche Daten sollen wie gebündelt/dargestellt werden?
AW: Frage an die Softwareexperten!
25.09.2004 23:39:29
Jens
Hi Thorsten :-)
also, es handelt sich hier um sog. "Transaktionsende" Emails von Ebay.
Es kann nun sein, dass ein Kunde in einem Zeitraum mehrere Artikel bestellt, also mehrere Transaktionsende Emails "generiert"
Mein Parser liest diese aus und schreibt die Daten zeilenweise in die Excel Datei.
Wenn nun eine Transaktionsende Email eingelesen wird, soll zuerst geprüft werden, ob es für diesen Kunden schon offene Bestellungen gibt.
Wenn ja, so soll unter der schon vorhandenen Bestellung eine Leerzeile eingefügt werden und darauf hin die 2. Bestellung des Kunden dort eingefügt werden.
Nun sollen beide Zeilen z.B. gelb hinterlegt werden, um zu signalisieren, dass es sich hier um eine Sammelbestellung handelt.
Folgende Daten werden pro Transaktion erfasst und in einer Zeile dargestellt:
Geldeingang(datum)
gemahnt(datum)
versandt(datum)
Artikelbezeichnung(string)
Artikelnummer(int)
Einzelpreis(int)
Gesamtpreis(int)
Menge(int)
Name(string)
Straße(string)
Ort(string)
Email(string)
Mitgliedsname(string)
verkauft am(datum)
Kundennummer(int)
Rechnungsnummer (int)
Hat bewertet(true false)
versichert(true false)
So, dass ist nun mein Ansatz, vielleicht hast Du eine andere gute Idee?
Ciao
Jens
Anzeige
AW: Frage an die Softwareexperten!
25.09.2004 23:54:06
Oberschlumpf
Hi Jens
Vllt is ja heut nacht noch jemand schneller (deshalb lass ich den Thread geöffnet).
Aber da es sich doch um etwas mehr Arbeit handelt, werd ich mich morgen da mal ran setzen.
Ciao erstmal
Thorsten
AW: Frage an die Softwareexperten!
26.09.2004 09:53:54
Oberschlumpf
Hi Jens
Hier nun meine Idee.
Voraussetzung:
In Spalte A darf vor Ende aller Eintragungen keine Leerzelle vorhanden sein.
In meinem Bsp müssen die XL-Tabelle und die txt-Datei im selben Verz. sein.
Da ich nicht weiß, wie die Daten in die Exceltabelle eingelesen werden, habe ich mir mit einer txt-Datei mit den "Quelldaten" (die ebey-eMail) ausgeholfen.
Hierfür wird die Sub "Einlesen" verwendet, und Du musst diese Sub vllt anpassen, oder kannst sie vollständig vernachlässigen, da Du vllt einen ganz anderen Weg gewählt hast, um die Daten aus der eBay-eMail einzulesen.
Ich gehe davon aus, dass immer nur EINE eMail eingelesen wird. Und für eine nächste, mögliche eMail muss das Makro erneut gestartet werden.
Anpassen müssen wirst Du auf jeden Fall die Sub "Suche".
Denn hier wird die schon vorher eingelesene eMail-Adresse mit den in der Tabelle eingetragenen eMail-Adressen verglichen.
(ich gehe davon aus, dass eine eMail-Adresse auch immer nur für ein und denselben Käufer verwendet wird. Um die Suche noch zu verbessern, kannst Du die Suche ja zusätzlich noch mit Name und/oder Straße+Ort verfeinern)
Bei Erfolg wird unterhalb der Fundzeile eine leere Zeile eingefügt, um hier dann die neuen Daten einzutragen.
Nachdem dies geschehen ist, wird die gefundene Zeile und die neu eingetragene Zeile gelb eingefärbt.
Wird keine Übereinstimmung gefunden, werden die neuen Daten direkt in die nächste leere Zeile eingetragen.
Makro Ende - fertig :-)
So sieht meine Bsp-Tabelle aus: (nicht alle Spalten)
Anzeige
AW: Frage an die Softwareexperten!
26.09.2004 21:10:01
jens
hi thorsten,
hab 1000 dank für die mühe, die du dir gemacht hast.
ich habe gestern und heute auch ein wenig gebastelt und mir folgende funktion gebaut:
ich habe schon fast ein schlechtes gewissen, weil du dir so viel arbeit gemacht hast :-(
Ciao
Jens
'FUNKTION getRowNumberMultipleOrder(memberName)
'Prüft, ob es zu einem gegebenen Kunden bereits offene Bestellungen
'gibt. Falls ja, so fügt die Funktion eine neue Zeile unter der
'offenen Bestellung ein und hinterlegt beide Zellen mit einer Farbe
'Darüber hinaus gibt die Funktion die Zeile zurück in die die neue Bestellung
'eingefügt werden muss.

Function getRowNumberMultipleOrder(memberName As String) As Integer
Dim rownumber
Dim i
On Error Resume Next
For i = Sheets("Daten").UsedRange.Rows.count To 1 Step -1
If (Sheets("Daten").Cells(i, 3) = "") Then 'Ist die Bestellung offen?
rownumber = Sheets("Daten").Range("M" & i).Find(what:=memberName, LookIn:=xlValues, MatchCase:=True).Row
End If
Next
If rownumber Then 'Folgezeile für Bündelung von Bestellungen vorbereiten
Cells(rownumber + 1, 1).EntireRow.Insert
Cells(rownumber, 1).EntireRow.Interior.ColorIndex = 34
Cells(rownumber + 1, 1).EntireRow.Interior.ColorIndex = 34
orderdispatched = ""
End If
If rownumber Then
getRowNumberMultipleOrder = rownumber + 1 'Rückgabewert der Funktion.
End If
End Function

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige