nach langer Zeit der selbstversuche muss ich mich mal wieder an die Profis unter euch wenden. Ich hänge immer noch an meinem Wareneingang der jetzt eigentlich fast fertig ist. Nen paar Kleinigkeiten was die Benutzerfreundlichkeit betrifft und dann ab in die Beta-Testphase. ;o)
ABER was mich zum zerplatzen bringt, ist meine Auswertung. Dafür reichen meine mühsam zusammengetragenen VBA-Kenntnisse leider immer noch nicht aus. :o( Ich hoffe sehr das Ihr mir mal wieder mit zahlreichen, hilfreichen Lösungsansätzen helfen könnt:
Folgendes soll passieren:
Nachdem ich nun alle Artikel die reingekommen sind eingescannt habe Zeigt mir die Spalte G meines Tabellenblattes "Wareneingang" (wkseingang) 3 verschiedene Möglichkeiten von Werten. O = Artikelanzahl stimmt, - (Zahl) = Artikel wurde zuwenig geliefert, + (Zahl) = Artikel wurde zuviel geliefert. Die Tabelle wkseingang enthält 7 Spalten ab Zeile 5: (Artnr./Bezeichnung1/Bezeichnung2/Sollmenge/Preis/erfasste Menge/Differenz)
Ein Knopfdruck muss mir nun die die jeweiligen Zeilen raussuchen und in mein Blatt Auswertung entsprechend rüberkopieren. Wks Auswertung enthält 3 Spalten Ab Zeile 4: Artnr./Bezeichnung/Differenz und Ab Zeile 30: Artnr./Bezeichnung/Menge
Einge Artikel müssen mir allerdings nicht als "Differenz" angezeigt werden, da sie nur virtuell eingebucht werden und ich sie garnicht einscannen kann. Diese muss mir das Programm sozusagen selbst zählen. Andere Artikel wiederum sind zwar physisch vorhanden aber müssen gleich wieder von mir ausgebucht werden ( Ich hatte anfangs sehr blauäugig gesagt das ich das selbst hinbekomme, aber denkste...das ist mir zu hoch .. :(
Ich habe mal wieder "Auf Deutsch" zusammengetragen was eigentlich passieren soll. (hat alleine schon nen Tag gedauert ;o) Aber das schreit nach zig Schleifen...und die bekomm ich echt nicht gebacken, das sind einfach zu viele für mich
Im Worksheet "Wareneingang"
Alles ab Spalte 5 abwärts
1. Prüfung
In Spalte F suchen ob ein Wert größer 0 vorhanden
Ja = Wert gefunden →
weiter mit 2. Prüfung
Nein = Kein Wert gefunden →
MSGBox: Es wurden Keine Daten erfasst!!
2. Prüfung
In Spalte G suchen ob ein Wert grösser als 0 (nicht gleich) gefunden wird
Ja = Ein Wert grösser 0 gefunden →
Tabellenblatt "Auswertung" einblenden
Inhalte der Zelle A, B und G der gefundenen Zeile ins Tabellenblatt Auswertung
in letzte freie Zeile ab A4 in Zelle A, B, C kopieren
(Wenn letzte Zeile in Tabellenblatt "Auswertung" größer als A28 ist
muss Zeile eingefügt werden und vorhandene Daten ab Zeile A29 nach unten schieben)
weiter suchen
Nein = Kein Wert grösser 0 gefunden →
weiter mit 3. Prüfung
3. Prüfung
in Spalte G suchen ob ein Wert kleiner als 0 (nicht gleich) gefunden wird
Ja = Ein Wert kleiner 0 gefunden →
gefundene Zeile weiter mit 5. Prüfung
Nein = Kein Wert kleiner 0 gefunden →
weiter mit 4. Prüfung
4. Prüfung
prüfen ob Tabellenblatt "Auswertung" eingeblendet ist
Ja = Tabellenblatt "Auswertung" ist eingeblendet →
Tabellenblatt "Auswertung" aktivieren Fertig!
Nein = Tabellenblatt "Auswertung" ist ausgeblendet →
MSGBox: Es wurden keine Differenzen festgestellt!!
5. Prüfung
in Zelle E der gefundenen Zeile prüfen ob Wert = 0,00 ist
Ja = Wert in Zelle E = 0,00 →
Wert aus Zelle D der gefundenen Zeile in Zelle F der gefundenen Zeile kopieren
nächste Zeile durchsuchen
Nein = Wert in Zelle E ist größer als 0,00 →
weiter mit 6. Prüfung
6. Prüfung
in Zelle B der gefundenen Zeile prüfen ob Zeichenkette "_SE_" vorhanden
Ja = In Zelle B der gefundenen Zeile ist Zeichenkette "_SE_" vorhanden →
Wert aus Zelle D der gefundenen Zeile in Zelle F der gefundenen Zeile kopieren
nächste Zeile durchsuchen
Nein = In Zelle B der gefundenen Zeile ist Zeichenkette "_SE_" nicht vorhanden →
weiter mit 7. Prüfung
7. Prüfung
in Zelle B der gefundenen Zeile prüfen ob Zeichenkette "Hardwareschutz" vorhanden
Ja = in Zelle B der gefundenen Zeile ist Zeichenkette "Hardwareschutz" vorhanden →
Wert aus Zelle D der gefundenen Zeile in Zelle F der gefundenen Zeile schreiben
nächste Zeile durchsuchen
Nein = in Zelle B der gefundenen Zeile ist Zeichenkette "Hardwareschutz" nicht vorhanden → _
weiter mit 8. Prüfung
8. Prüfung
in Zelle B der gefundenen Zeile prüfen ob Zeichenkette "Zeitschrift" vorhanden
Ja = in Zelle B der gefundenen Zeile ist Zeichenkette "Zeitschrift" vorhanden →
Wert aus Zelle D der gefundenen Zeile in Zelle F der gefundenen Zeile kopieren
nächste Zeile durchsuchen
Nein = in Zelle B der gefundenen Zeile ist Zeichenkette "Zeitschrift" nicht vorhanden →
weiter mit 9. Prüfung
9. Prüfung
in Zelle B neben der gefundenen Zeile prüfen ob Zeichenkette "Sonderheft" vorhanden
Ja = in Zelle B der gefundenen Zeile ist Zeichenkette "Sonderheft" vorhanden →
Wert aus Zelle D der gefundenen Zeile in Zelle F der gefundenen Zeile schreiben
nächste Zeile durchsuchen
Nein = in Zelle B der gefundenen Zeile ist Zeichenkette "Sonderheft" nicht vorhanden →
weiter mit 10. Prüfung
10. Prüfung
in Zelle B der gefundenen Zeile prüfen ob Zeichenkette "GRAVIS" vorhanden
Ja = in Zelle B der gefundenen Zeile ist Zeichenkette "GRAVIS" vorhanden →
weiter mit 11. Prüfung
Nein = in Zelle B der gefundenen Zeile ist Zeichenkette "GRAVIS" nicht vorhanden →
Inhalte der Zelle A, B und G der gefundenen Zeile ins Tabellenblatt Auswertung in letzte
freie Zeile ab A4 in Zelle A, B, C kopieren
(Wenn letzte Zeile in Tabellenblatt "Auswertung" größer als A28 ist muss Zeile eingefügt werden
und vorhandenen Daten ab Zeile A29 nach unten rutschen)
nächste Zeile durchsuchen
11. Prüfung
in Zelle B der gefundenen Zeile prüfen ob Zahl "zwischen 1-100" vorhanden
Ja = in Zelle B der gefundenen Zeile ist Zahl "zwischen 1-100" vorhanden →
Inhalte der Zelle A, B und G der gefundenen Zeile ins Tabellenblatt Auswertung in letzte
freie Zeile ab A4 in Zelle A, B, C kopieren
(Wenn letzte Zeile in Tabellenblatt "Auswertung" größer als A28 ist muss Zeile eingefügt werden
und vorhandenen Daten ab Zeile A29 nach unten rutschen)
nächste Zeile durchsuchen
Nein = in Zelle B der gefundenen Zeile ist Zahl "zwischen 1-100" nicht vorhanden →
weiter mit 12. Prüfung
12. Prüfung
in Zelle B der gefundenen Zeile prüfen ob Zeichen "
Ich hoffe ich habe das verständlich genug aufgeschrieben, habe jetzt schon Kopfschmerzen ;o)
Aber ich denke für die Profis unter euch sollte das verständlich sein, oder?
Bin euch wirklich für jeden Lösungsansatz dankbar. Wenn es zu aufwendig ist würde mir vielleicht auch ein Beispielskript helfen welches ich anpassen könnte...egal was...bin für jeden Strohhalm dankbar der mich endlich zum Abschluss dieses Projektes bringt..
Tausend dank das Ihr mir helft
viele liebe Grüsse
J.