Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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

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

Mach bitte das, was ich Dir geschrieben habe.

Diese Zeile hinter Tabelle "Einkauf Etiketten":

If Target.Address = "$O$6" Then


so ersetzen:

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

Machen und testen. Sonst den gesamten Code hinter der Tabelle hier posten.

Zu Deiner Frage mit neu Anlegen von Artikeln:
Grundsätzlich würde ich das direkt in den Tabellen erledigen. In den Tabellen kannst Du die Formate , Bedingungen (Datenprüfung) usw nutzen. Das müsste sonst alles umfangreich programmiert werden.

Man kann das auch mit einer Userform machen, aber es ist aufwendig. Das ginge zwar in der gleichen Userform, nur in diesem Fall nicht mit der, welche ich Dir eingestellt habe. Es fehlen ja Spalten. Es müssten Textboxen dazu kommen. Dadurch müsste dann das Ganze neu Angepasst werden und im Code müsste an vielen Stellen rumgedocktert werden.

Für mich im Moment zu viel Arbeit. Vielleicht nächste Woche wenn ich Zeit und LUST habe.

Was die Spalte Mindestabnahme betrifft, kann sie leicht mit rein genommen werden.
Vielleicht hast Du es geschafft, im Code an den richtigen Stellen Änderungen vorzunehmen, aber das reicht nicht. Die Textboxen sind nicht anwählbar. Um das zu ändern, muss im Eigenschftsfenster die Eigenschaft Enabled auf True gestellt werden.

Ich habe das in der neuen Version jetz eingebaut.
Außerdem habe ich die Schaltfläche, die zum Artikel führt etwas anders programmiert.
Sobald Du einen Lieferanten ausgewählt hast, erscheint die Schaltfläche mit der Bezeichnung (Caption) "zum Lieferanten". Wählst Du danach eine Artikelnummer, dann ändert sich die Caption (Bezeichnung) in "Artikel in Tabelle zeigen". So kannst Du auch in die entsprechenden Tabellen gelangen um neu Einträge zu machen.

Neue Version:
.xlsm   Mike4711-Ati-5-1.xlsm (Größe: 295,01 KB / Downloads: 1)

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

die Etiketten werden alle gefunden.

Im Arbeitsblatt "Einkauf Etiketten" gebe ich ja eine Artikelnummer ein und mit einer Formel in den anderen Zellen, werden die zu suchenden Angaben gezeigt.

Die Codes, die du siehst, sind zum ablegen der werte in andere Zellen, oder zu erzeugen eines PDF`s, sowie zum drucken usw.
Es gibt mehrere Codes, die mit Etiketten anfangen, aber jedes hat eine andere Funktion.
Für mich zur Übersicht der Codes, fangen diese, die für das Blatt "Einkauf Etiketten" sind, immer mit Etiketten an.

Code für Werte ablegen, drucken, PDF speichern, als Mail senden.

Da ich eine anderes Blatt habe, welches Einkauf heißt und ich dort fast das gleiche tun möchte, gibt es hierfür auch die gleichen Codes, halt ohne Bezeichnung Etiketten.


Ich weiß .....das würden Profis anders machen. :)

Ich bin purer Anfänger und habe Stundenlang nach passenden Codes im Netz gesucht und diese dann so wie ich es kann, nach meinen Bedürfnissen angepasst.

Ich wäre froh, wenn mir jemand ne einfachere, bessere Komplettlösung anbieten könnte.

Atilla hat mir schon eine super Maske erstellt, darüber habe ich mich sehr gefreut.

Lg Mike
Antworten Top
#23
Hallo Atilla,

also da hast du recht, wenn ich einen neuen Artikel anlegen will, dann mache ich das in der Tabelle direkt.
Muss ich ja nicht jeden Tag machen einen neuen Artikel anlegen.

Für mich war es wichtig einen Artikel schnell und komfortabel zu finden und werte schnell ändern zu können, ohne ihn in dem jeweiligen Blatt zu suchen.

Hier wäre es halt noch schön, wenn alle Spalten im Suchformular angezeigt werden.

Ich schaue mir gleich mir sehr viel Freude deine neue Lösung an. Dafür wieder ein festes Danke schön!!!

Zu den Bildern anzeigen.....ich habe das so in dem Code eingegeben, wie du sagtest, doch trotzdem geht es nicht.
Habe heute auch schon nach dem Worksheet calculate gesucht, was du erwähnt hast...leider bin ich nicht schlauer geworden, wie ich das umsetzen soll.

Hier mein Code für das Blatt "Etiketten Einkauf"


Option Explicit

Private Const PICTURE_PATH = "X:\Bestellverwaltung\Bilder_Artikel\"
Private Const PICTURE_EXTENSION = ".jpg"
Private Sub Worksheet_Activate()
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim objShape As Object
If Target.Address = "$K$6" Then du meinst diese Zeile?
For Each objShape In Shapes
If objShape.TopLeftCell.Address = "$K$6" Then
objShape.Delete
Exit For
End If
Next
If Not IsEmpty(Target.Value) Then
If Dir$(PICTURE_PATH & Target.Value & PICTURE_EXTENSION) = vbNullString Then
MsgBox "Kein Bild zu Materialnummer ''" & Target.Value & _
"'' gefunden.", vbExclamation, "Hinweis"
Else
Set objShape = Me.Pictures.Insert(PICTURE_PATH & _
Target.Value & PICTURE_EXTENSION)
objShape.Top = Cells(14, 15).Top
objShape.Left = Cells(14, 15).Left
End If
End If
Set objShape = Nothing
End If

End Sub


Gibt es eigentlich nur diesen Code Bilder zu Artikeln anzeigen zu lassen, die auf der Festplatte abgespeichert sind?

Grüße Mike
Antworten Top
#24
Hi Mike,

(28.11.2014, 20:54)Mike4711 schrieb: die Etiketten werden alle gefunden.
[...]
Es gibt mehrere Codes, die mit Etiketten anfangen, aber jedes hat eine andere Funktion.
Für mich zur Übersicht der Codes, fangen diese, die für das Blatt "Einkauf Etiketten" sind, immer mit Etiketten an.

es geht nicht darum, daß die Etiketten nicht gefunden werden, sondern, daß die Namen der Makros jeweils anders sind:

Sub Eitketten_Artikel_ablegen()
Call Etiketten[/color]_Eingabe_in_Bestellübersicht
Call Eiketten[/color]_Nächster_Artikel
Call Eitketten[/color]_Positions_Nummer
End Sub

Wenn Du nun den Namen anders schreibst, wird das Makro nicht mehr gefunden.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Mike4711
Antworten Top
#25
Hi Rabe,


verstehe ich nicht.

Es funktioniert aber alles in meinen Arbeitsblättern.
Hast du dir mal meine Blätter angesehen?

Blatt Einkauf: Hat einige Bottons. Artikel ablegen, der nächste Neue Bestellung, dann AlsPDF speichern und drucken, dann ein Botton als Mail senden.

Alle Bottons machen das, was sie sollen.

Im Blatt Einkauf Etiketten, sind die gleichen Bottons, die zwar die gleichen Codes haben, jedoch mit Anpassungen der angesprochen Zellen usw, die dort benötigt werden.

??

Grüß Mike
Antworten Top
#26
Hi Rabe,


:)

OK....jetzt sehe ich was du meinst:29:

Hab gerade meine Brille aufgesetzt. :)

Die heißen wirklich alle anders....Tippfehler von mir:@


Aber seltsam....es geht trotzdem.

Wird deswegen mein Artikelbild im Blatt Einkauf Etiketten nicht angezeigt?

Mike
Antworten Top
#27
Hi Atilla,


habe mir deine neue Version angesehen.

Die neue TextBox "Mindestabnahme" wirft keinen Wert aus.

Aber trotzdem, deine neue Änderung finde ich sehr gut.

Lg Mike
Antworten Top
#28
Hallo Mike,

ja die Zeile meine ich.

Ok, soweit richtig.

Jetzt diese Zeile:

If objShape.TopLeftCell.Address = "$K$6" Then

Da wird geprüft ob ein Bild am linken oberen Rand der Zelle K6 eingefügt ist, wenn ja, dann wird sie gelöscht.

Da sollte stehen

If objShape.TopLeftCell.Address = "$O$14" Then


weil Du mit diesen Zeilen:

objShape.Top = Cells(14, 15).Top
objShape.Left = Cells(14, 15).Left


das eingefügte Bild in O14 einfügst.


Jetzt, warum es nicht klappt, weil in dieser Zeile:

If Dir$(PICTURE_PATH & Target.Value & PICTURE_EXTENSION) = vbNullString Then

Der Bildname (Target.Value) aus der Zelle, die geändert wurde (Target.Address = "$K$6") genommen wird.

Der Bildname soll aber aus O6 genommen werden, richtig?

Dann:

If Dir$(PICTURE_PATH & Range("O6") & PICTURE_EXTENSION) = vbNullString Then


Jetzt alles in Ruhe sacken lassen und vielleicht mehrmals lesen, dann versuchen die entsprechenden Änderungen vorzunehmen. Wink
Gruß Atilla
Antworten Top
#29
Hi Mike,

(28.11.2014, 21:56)Mike4711 schrieb: :)

OK....jetzt sehe ich was du meinst:29:

Hab gerade meine Brille aufgesetzt. :)

Die heißen wirklich alle anders....Tippfehler von mir:@


Aber seltsam....es geht trotzdem.

Wird deswegen mein Artikelbild im Blatt Einkauf Etiketten nicht angezeigt?

ich glaube nicht, daß es daran liegt, daß die Makros unterschiedlich heißen.


Gefunden werden sie, weil Du beim Aufruf der Makros (Call ...) ebenfalls die falsch geschriebenen Namen verwendest. Wenn Du jetzt aber mal zufällig richtig schreibst, dann findet Excel die Makros halt nicht und du wunderst Dich.

Ich habe jetzt mal die Module 1 bis 110 (mit jeweils einem Makro) zu 7 Modulen gruppiert zusammengefasst, sprechend benamst und auch überall das "Option Explicit" eingefügt.
[attachment=893]

Der Inhalt muß dann noch extra überprüft werden.

.xlsm   Mike4711-Ati-5a.xlsm (Größe: 265,4 KB / Downloads: 1)

Edit:
Kopfzeile aus Anhang entfernt.
Moderator
Antworten Top
#30
Hallo Ralf,

dass die verschieden geschrieben sind spielt dann keine Rolle, wenn sie nicht irgendwo anders im Code verwendet werden. Denn Mike hat Schaltflächen aus den Formularsteuerelementen aufgezogen und diesen einfach die Makros zugewiesen, die Benennung ist dann unerheblich.
Gruß Atilla
Antworten Top


Gehe zu:


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