Lieferstatus aus Bestellübersicht anzeigen und ändern per Maske
#21
(11.03.2015, 12:58)atilla schrieb: Hallo Mike,

schreiben geht so, aber das zurücklesen nicht.
Dann müssen noch Einstellungen vorgenommen werden, damit die Textbox nur in der einen Option sichtbar ist.

Das habe ich in Deiner Datei eingearbeitet.



Zu dieser aussage von Dir:


Zitat:Zitat:
ich hatte zwischendurch mal überlegt, ob es dort geht, so eine TextBox einzufügen.

Aber ich schaue da immer noch nicht so recht durch und wusste, wie es geht.

Was bedeutet: "ich schau da immer noch nicht durch"? Heißt das, dass Du mit der Userform nicht arbeiten kannst, weil Du die Funktionalität nicht verstehst?

Nein.....mit der Userform kann ich arbeiten, ich meinte den Code, der dahinter steckt.
Was diese ganzen Zeilen usw. bedeuten, was sie machen und deshalb, bin ich auch nicht drauf gekommen, das ich das dort selber einbauen kann.

Gruß Mike
Top
#22
Hallo Mike,

ich habe doch nicht geschrieben, dass alles raus soll:

Zitat:aus dem bisherigen code entfernst Du die 3 Change-Makros und das Makro Combo_Füllen.

Was die Change-Makros sind, hatte ich erklärt:

Zitat:Du hast zu jeder Combobox so ein Change-Makro - oder anders gesagt, es gibt

Private Sub ComboBox1_Change()
Private Sub ComboBox2_Change()
Private Sub ComboBox3_Change()

Jedes Makro hört mit End Sub auf. Du musst also z.B. den code von

Private Sub ComboBox1_Change()
bis zum ersten danach folgenden
End Sub

entfernen.

Gleiches dann für die beiden anderen Change-Makros.

Private Sub ComboBox2_Change()
bis zum ersten danach folgenden
End Sub

entfernen.

Private Sub ComboBox3_Change()
bis zum ersten danach folgenden
End Sub

entfernen.


Beim Makro

Sub combo_füllen()
auch wieder den code entfernen bis zum nächsten
End Sub


Dann fügst Du meine codes ein.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Mike4711
Top
#23
Hallo Andre,

ok, also da dürfte nur das alles im Code stehen?

Code:
Option Explicit
Private Sub UserForm_Activate()
  Dim i As Integer, lngz As Long
  Dim arr1 As Variant
  Dim D1 As Object, D2 As Object, D3 As Object
  Set D1 = CreateObject("Scripting.Dictionary")
  Set D2 = CreateObject("Scripting.Dictionary")
  Set D3 = CreateObject("Scripting.Dictionary")
     With Sheets("Bestellübersicht")
     lngz = .Cells(.Rows.Count, 1).End(xlUp).Row
     arr1 = .Range("A2:E" & lngz)
     D1("bitte wählen") = "bitte wählen"
     D2("bitte wählen") = "bitte wählen"
     D3("bitte wählen") = "bitte wählen"
     For i = 2 To UBound(arr1)
            D1(CStr(RTrim(arr1(i, 1)))) = 0
            D2(arr1(i, 5)) = 0
            D3(arr1(i, 2)) = 0
     Next i
  End With

  If D1.Count > 0 Then
     Me.ComboBox1.List = Application.Transpose(D1.Keys)
     Me.ComboBox1.ListIndex = 0
     Me.ComboBox1.SelLength = Len(Me.ComboBox1.Text)
     boVar = True
     Me.ComboBox2.List = Application.Transpose(D2.Keys)
     Me.ComboBox2.ListIndex = 0
     Me.ComboBox2.SelLength = Len(Me.ComboBox2.Text)
     boVar = False
     Me.ComboBox3.List = Application.Transpose(D3.Keys)
     Me.ComboBox3.ListIndex = 0
     Me.ComboBox3.SelLength = Len(Me.ComboBox3.Text)
     boVar = False
  End If
End Sub

Sub combo1_füllen()
  Dim i As Integer, lngz As Long
  Dim arr1 As Variant
  Dim D1 As Object, D2 As Object, D3 As Object
  Set D1 = CreateObject("Scripting.Dictionary")
  Set D2 = CreateObject("Scripting.Dictionary")
  Set D3 = CreateObject("Scripting.Dictionary")
  With Sheets("Bestellübersicht")
     lngz = .Cells(.Rows.Count, 1).End(xlUp).Row
     arr1 = .Range("A2:E" & lngz)
     D1("bitte wählen") = "bitte wählen"
     D2("bitte wählen") = "bitte wählen"
     D3("bitte wählen") = "bitte wählen"
     For i = 2 To UBound(arr1)
        If arr1(i, 5) = Me.ComboBox2.Text Then
           D1(CStr(RTrim(arr1(i, 1)))) = 0
        End If
     Next i
  End With

  If D1.Count > 0 Then
     Me.ComboBox1.List = Application.Transpose(D1.Keys)
     Me.ComboBox1.ListIndex = 0
     Me.ComboBox1.SelLength = Len(Me.ComboBox1.Text)
     boVar = True
           
   End If
End Sub

Sub combo3_füllen()
  Dim i As Integer, lngz As Long
  Dim arr1 As Variant
  Dim D1 As Object, D2 As Object, D3 As Object
  Set D1 = CreateObject("Scripting.Dictionary")
  Set D2 = CreateObject("Scripting.Dictionary")
  Set D3 = CreateObject("Scripting.Dictionary")
  With Sheets("Bestellübersicht")
     lngz = .Cells(.Rows.Count, 1).End(xlUp).Row
     arr1 = .Range("A2:E" & lngz)
     D1("bitte wählen") = "bitte wählen"
     D2("bitte wählen") = "bitte wählen"
     D3("bitte wählen") = "bitte wählen"
     For i = 2 To UBound(arr1)
        If arr1(i, 1) = Me.ComboBox1.Text And arr1(i, 5) = Me.ComboBox2.Text Then
           D1(CStr(RTrim(arr1(i, 2)))) = 0
        End If
     Next i
  End With

  If D1.Count > 0 Then
     Me.ComboBox3.List = Application.Transpose(D1.Keys)
     Me.ComboBox3.ListIndex = 0
     Me.ComboBox3.SelLength = Len(Me.ComboBox1.Text)
     boVar = True
           
   End If
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub
ist das richtig so?
Hast du hier den Beitrag von Atilla gesehen, das ich in der Form, "frmLieferungen" eine zusätzliche TextBox ein geben kann und dort meine Bemerkungen speichern kann?
Das habe ich gemacht und meine Maske etwas abgeändert, in der ich nach dem Artikelstatus suchen (anzeigen)möchte.
Also werden über die Form Lieferungen suchen/buchen, die Bemerkungen geschrieben und abgespeichert.
Jetzt brauche ich nur noch einen einfachen Aufruf aus der Maske, die ich etwas abgeändert habe, zum suchen nach Bestellnummer und Artikelnummer, das er mir zu dem Artikel den gespeicherten Lieferstatus anzeigt
Sie das neue Bild, das ich nach Atillas Beitrag von der Maske hier rein gesetzt habe.
Grüße Mike
Top
#24
Hallo Mike,
Ja, die anderen Beiträge hab ich auch gelesen. Ich wollte nur noch ein paar Tipps zu meinen Ansätzen geben.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Mike4711
Top
#25
Hallo Mike,

ich verstehe immer noch nicht, was Du mit dieser Art von Suche erreichen möchtest.

Wenn Du nach einer Artikelnummer suchst, kann es doch mehrere Treffer geben. Siehe Beispiel:
   

Welcher soll Dir denn angezeigt werden?
Und diese Suche hast Du mit der frmLieferungen.

Dort werden Dir die Treffer in einer Listbox angezeigt, aus der Du dann eine genau Auswahl treffen kannst.

@Andre
Das alle Comboboxen zu Beginn gefüllt werden hatte in der oben beschriebenen Userform seinen Sinn.
Dort kann Mike nach allen drei Comboboxen eine Vorauswahl treffen. Wenn eine Auswahl in einer der Combos getätigt wurde, dann werden die anderen erneut bedingt nach dieser Auswahl gefüllt.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Mike4711
Top
#26
(11.03.2015, 22:31)schauan schrieb: Hallo Mike,
Ja, die anderen Beiträge hab ich auch gelesen. Ich wollte nur noch ein paar Tipps zu meinen Ansätzen geben.
Hallo Andre,

Ok....da Atilla in meiner Mappe, die Option das abspeichern des Lieferstatus (also Bemerkungen), schon für mich eingearbeitet hat, brauche ich jetzt nur noch eine schnelle Suche nach einem Artikel zu einer bestimmten Bestellnummer, wo mir der Lieferstatus angezeigt wird.

Hier noch einmal ein Bild der Maske, wo ich denke, das die dort angesetzten Objekte zum anzeigen reichen?!
   

Grüße Mike
Top
#27
Hallo Atilla,

Also die Maske, habe ich für eine schnellsuche gedacht.
Und das meine Kollegin, die sich nicht mit Excel oder auch mit Pivottabellen auskennt, schnell nach einem bestellten Artikel suchen kann. Hierbei denke ich nach einem noch nicht gelieferten Artikel.

In der Pivottabelle wir der doch als "noch offen" angezeigt.
Die vollständig gelieferten und Teillieferungen, werden auch nicht in der Pivottabelle angezeigt.

In der Suchmaske für den Lieferstatus, soll er nur die noch zu liefernden Artikel berücksichtigen.

Den Status kann ich ja jetzt dank dir in der Userform "Lieferung suchen/ändern" eingeben.

   

Im Grunde ist diese Maske eine abgespeckte Version, der Form "Lieferung suchen/ändern "
Nur schneller und einfacher zu handhaben für meine Kollegin.

Gruß Mike
Top
#28
Hallo Andre,

habe jetzt noch ein paar Stunden lang ausgetüfftelt, wie ich deine Codes mit der Maske am laufen bekomme.

Die 3 Combobxen werden jetzt gefüllt.

Anbei wieder meine Mappe.

.xlsm   Einkauf-Test.xlsm (Größe: 996,36 KB / Downloads: 6)

So wie es aussieht, zeigt er zu dem Lieferanten die richtigen Bestellnummern an sowie auch die richtigen Artikel.
Was nur noch nicht geht, ist das ich wenn ich den Lieferanten oder die Bestellnummer wechsle es nicht mehr zueinanader passt.

Kannst du mir weiter helfen?
Schön wäre es, wenn ich einfach eine  Artikelnummer eingeben könnte und er aktullisiert die anderen Boxen automatisch?

Grüße Mike
Top
#29
Hallo Mike,

ich schaue mir das morgen mal an. Wie gesagt, meine "Philosophie" war, die Daten der Reihe nach auszuwählen, also erst die linke obere Box, dann die rechte, und dann die untere. Ich hatte nur nicht den Anfang verändert, wo erst mal alle Boxen gefüllt wurden. Ich hätte hier noch die entsprechenden Zeilen im Userform_Activate raus nehmen können / sollen, damit man nicht auf andere Gedanken kommt :32: ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#30
Hallo Andre,

achso.  ;)

Ich sitze scho ein paar Stunden dran, um das so hin bekommen zu haben, wie du beschrieben hast.

Am einfachsten für mich und meine Kollegin wäre.....
Artikel .....Lieferstatus wird angezeigt. 


Heute habe ich eh kein Bock mehr. :)

Dann würd ich sagen bis morgen?

Grüße Mike
Top


Gehe zu:


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