Excel Maske zum ändern und anzeigen von Daten
#11
Hallo Mike,

Zitat:Schon so schnell ne Lösung?

ich sagte doch, die Lösung hatte ich Dir schon letzte Woche fertiggestellt und hier eingestellt.
Es mussten jetzt nur Tabellen, die nicht eingelesen werden, ausgeschlossen werden.
Nur eine Zeile mehr Code.

So jetzt zu Deiner erweiterten Anfrage unten eine neue Version.

Es werden alle Tabellen eingelesen, bis auf "Hauptmenü", "Einkauf", "Einkauf Etiketten", "Bestellübersicht". Sollen noch andere Tabellen ausgeschlossen werden, dann musst Du in folgender Zeile des Codes:

Code:
Case "Hauptmenü", "Einkauf", "Einkauf Etiketten", "Bestellübersicht"

die Tabellennamen so wie im Code zu sehen, mit Komma getrennt in Anführungszeichen dazu schreiben .

Hier die neue Version:

.xlsm   Mike4711-Ati-2.xlsm (Größe: 277,66 KB / Downloads: 2)

Edit:
Kopfzele aus Anhang entfernt
Moderator
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Mike4711
Top
#12
Hallo Atilla,

entschuldige, in der letzten Woche bin ich noch nicht so da ganz durch gestiegen, doch jetzt weiß ich mehr...Dank dir! :)

Jetzt ist es für mich eine perfekte Lösung und ich denke, dank deiner Beschreibung, bekomme ich, wenn nötig auch ein zusätzliches Blatt mit eingebaut.

Noch einmal...vielen Dank für diese Lösung.

Kannst du vielleicht dir meine Mappe noch einmal mal ansehen?
Ich habe einmal einen Code in de, Blatt Einkauf eingebaut, wo zum Artikel ein Bild angezeigt werden soll.
Dort klappt das einwandfrei.

Den selben Code habe ich im Blatt "Einkauf Etiketten",, doch dort zeigt er mir nur das Artikelbild an, wenn ich zu der Zelle O2, die dort eingegeben Formel ib der Zelle noch einmal mit Enter bestätige.

Ich weiß da nicht weiter. Liegt es vielleicht daran, das dieser Code nur in einem Tabellenblatt arbeitet?

Glg Mike
Top
#13
Hallo Mike,

Du hast eine Kleine Änderung im Code hinter der Tabelle "Einkauf Etiketten" drin und die ist gravierend.

Der Code in "Einkauf" reagiert auf Änderungen in der Zelle K6. Das Macht diese Zeile im Code:

Code:
If Target.Address = "$K$6" Then

In K6 gibst Du ja die Art.Nummern ein. Aber in der Tabelle "Einkauf Etiketten" hast Du die Zeile so geändert:

Code:
If Target.Address = "$O$14" Then

Das heißt der Code soll hier auf Änderungen in Zelle O14 reagieren.

Und die machst Du auf diesem Blatt ja auch nach wie vor in der Zelle K6.
Also im Code die anfangs erwähnte Zeile nicht ändern.

Noch eine Sache im Suchformular:
wenn in einer Tabelle keine Daten vorliegen, dann kann die Combobox mit Art-Nr zu Fehlern führen.
Deshalb muss im Code diese Zeile:

If UBound(arr()) > 1 Then

so geändert werden:

If k > 1 Then
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Mike4711
Top
#14
Hallo Atilla,

ich bin gerade auf der Arbeit und muss mir das später mal anschauen in meiner Mappe.

Die Änderungen in der Userform werde ich dann auch so eingeben.

Vielen Dank.

Gruß Mike
Top
#15
Hallo Atilla,

ich konnte gerade mal schauen.

Im Einkauf, kann ich die Artikelnummer nehmen, die in K6 steht.

Im Blatt Einkauf-Etiketten, muss ich die Zelle O6 nehmen, da dieses die richtige Artikelnummer zum Bild ist.
Ich gebe meien Artikelnummer in K6 ein und die Artikelnummer vom Lieferanten, wird in Zelle O6 angezeigt, hierzu gibt es auch ein passendes Bild, mit dieser Artikelnummer.

Also soll er Änderung der Zelle O6 achten und das Bils ändern.

Mich wundert es, das er das Bild in diesdem Blatt nur anzeigt, wenn ich in die Zelle O6 gehe, dort die darin enthaltene Formel mit Enter bestätige.

Lg Mike
Top
#16
Hallo Herbert,

die Formel in O6 bezieht sich doch auf die Zelle K6 oder nicht.
Das heißt, wenn Du K6 änderst, ändert sich doch auch der Formelwert in O6.

Wenn das so richtig sit, dann mach es so wie ich geschrieben habe. Nimm K6 als als Referenzzelle im Change Ereignis.

Ansonsten teil mir mit, nach welcher Eingabe sich der Formelwert in O6 ändert.

Das Change Ereignis reagiert auf das Editieren der Zellen, die manuell oder per Makro erfolgen.
Das Doppelklicken in die Zelle und wieder verlassen ist so zu sagen ein Editieren der Zelle.
Das stößt das Change Ereignis an.

Wenn aber auf berechnete Werte reagiert werden soll, dann nimmt man das Calculate Ereignis.

Aber es sollte bei Dir so funktionieren, wie ich schrieb.


Und hier noch eine erweiterte Version des Suchformulars:

.xlsm   Mike4711-Ati-4.xlsm (Größe: 291,8 KB / Downloads: 1)

Bei Änderungen werden Textboxen anders gefärbt.
Textboxen erscheinen nur dann, wenn eine Artikelnummer eingetragen oder ausgewählt wurde.
Existiert eine eingetragene Artikelnummer nicht, dann sieht man auch keine Textboxen.

Wenn Änderungen erfolgten, und Du versuchst die Form zu schließen, ohne dass Änderungen in die Tabelle übertragen wurden, dann erscheint ein Mitteilungsfenster.

Edit:
Kopfzeile aus Anhang entfernt
Moderator
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Mike4711
Top
#17
Hallo Atilla,

deine neue Variante des Suchformulars gefällt auch sehr gut.

Ist es in dieser auch möglich einen neuen Artikel, zum jeweiligen Lieferanten anzulegen?


Deine Frage: die Formel in O6 bezieht sich doch auf die Zelle K6 oder nicht. (JA)

Ansonsten teil mir mit, nach welcher Eingabe sich der Formelwert in O6 ändert. wenn ich in K6 Art-Nr eingebe, ändert sich der Wert in O6

Wenn aber auf berechnete Werte reagiert werden soll, dann nimmt man das Calculate Ereignis.

Aber es sollte bei Dir so funktionieren, wie ich schrieb. Aber so geht es bei mir leider nicht. de veränderte Wert durch die Formel ist mein Bildname. Das ist die Eingabe für K6 099110-27-13/1000 und das der Wert, dn die formel auswertet und den Bildnamen hat 099110-27


LG Mike
Top
#18
Hi Atilla,

mir fällt noch etwas zu dem Suchformular ein.
Dort sind noch 2 optionen frei um einen Wert anzeigen zu lassen.
Wäre schön, wenn die Spalte aus den Listen "Mindestabnahme" auch angezeigt wird?

Lg Mike
Top
#19
Hallo Atilla,


habe mir alle deine Codes angesehen. Für mich ist das eine sehr schwere Sprache. (VBA)
Was ich jetzt hin bekommen habe ist, das ich Tabellenblätter ausschließen kann.

Zusätzliche Textboxen, das schaffe ich einfach nicht.

Ich habe mir gedacht, wenn ich diese Maske auch zum anlegen neuer Artikel nutzen möchte, solle ich in den Tabellenblätter alle Spalten abrufen können.

Das sind dann mehr als 14.

Habe versucht in deinem Code erst einmal die 13 Box anzusprechen z.B mir die Mindestabnahme mit anzeigen zu lassen.
Aber ich mache sicher alles falsch. die Codezeilen kopieren und aus Textbox12 Textbox13 zu machen, dachte ich, wird schon funktionieren. :)

Was meinst du, um neue Artikel in den entsprechenden Tabellen anzulegen, ist es da besser eine separate Userform zu nutzen, oder kann man das in der selben, die du mir so super zusammen gebastelt hast?

Grüße Mike
Top
#20
Hi,

was mir bei den Makros auffällt:
  • manche Subs heißen "Etiketten...", manche "Eitketten...", manche "Eiketten..." werden die dann auch korrekt gefunden?
  • in viiielen fehlt das
    "Option Explicit

    "
  • es gibt für jede Sub ein eigenes Modul. Ist das nötig?
  • ein Blatt heißt "Staffepreise", da fehlt ein "l" vor dem P
Ist das alles so gewollt?
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste