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.

Verschieben der ganzen Zelle
#1
Hallo zusammen,

Ich arbeite mit einer Auftragsliste, daran würde ich gerne eine Verbesserung machen, ich weiss aber nicht wie das geht und ob es überhaupt geht.
In der Liste geht es um Aufträge die man bearbeiten muss, diese sind mit allerlei Möglichkeiten versehen was momentan für mich wichtig wäre: wenn ein Auftrag erledigt ist aber auf dem Auftrag noch eine offene Bestellung vorliegt,…
Das wäre für mich die bessere Lösung:
  • dass diese Aufträge unterhalb der aktuellen Aufträge verschoben werden und diese auch unterhalb bleiben (auch wenn ich eine Sortierung nach der Nummer mache), bis die Bestellung abgeschlossen ist.
Das wäre die alternative Lösung:
  • dass diese Aufträge in die zweite Tabelle „Bestellung“ verschoben werden und dort bleiben bis die Bestellung abgeschlossen ist und der Auftrag wieder in die erste Tabelle zurück verschoben wird.
 
Die Begriffe (Status: „erledigt“ und Bestellung:  „JA“) sind aus einer Dropdownliste auszuwählen und könne immer geändert werden.
Kann mir hier jemand einen Tipp geben, ob und wie ich dies am besten realisiere?
 
Danke im Voraus,

Gruss
Weidplas123


Angehängte Dateien
.xlsx   Auftragliste.xlsx (Größe: 201,84 KB / Downloads: 7)
Antworten Top
#2
Hallo

weil keiner den Thread bearbeitet hat habe ich mich der Sache mal angenommen.  s. Beispieldatei.
Ich weiss aber nicht ob mir eine Optimal Lösung gelungen ist???  Konnte es nicht in der Praxis testen.

Als Beispiel sind beide Datei Formate angehangen, aus Schutz vor Lucky für Kollegen als xlsx mit Makros im Tabellenblatt als Text. 

Ich habe zwei verschieden Varianten ausprobiert:
Modul1:  kopiert die Bestellungen "JA" in die "Bestellung" Tabelle und nach erledigt Status (muss gesetzt sein) wieder zurück in die Werkzeugliste.
Bei mir poppt dabei aber ein Dialogfeld auf weil mir die verknüpften Dateien fehlen!! 

Modul2:   setzt vor die Nummer den Wert "999_" und sortiert die Werkzeugliste. Dadurch rutschen die Bestellungen  nach unten.  Bei Status erledigt wird die alte Nummer generiert.  Welche von den beiden Methoden die bessere ist wird die Praxis zeigen.  

Zur Datensicherheit bitte den 1. Test nicht in der Originaldatei durchführen, sondern in der Beispieldatei.  Bei einem neuen Makro weiss man nie ob nicht doch noch versehentlich ein böser Fehler drin ist.  Im Beispiel zerstören wir keine Originaldaten.

Würde mi,ch freuen wenn die Lösung gefaellt udn Praxisgerecht ist.  Das ist sicher ein Industrieeinsatz.

mfg Gast 123


Angehängte Dateien
.xlsm   Auftragliste F.xlsm (Größe: 229,71 KB / Downloads: 3)
.xlsx   Auftragliste Fx.xlsx (Größe: 216,64 KB / Downloads: 3)
Antworten Top
#3
Vielen Dank Gast 123

Auf die Lösung wäre ich nie gekommen.

Das Modul2 ist die perfekte Lösung für mein Problem. Ich hätte da noch eine Frage dazu, kann ich die Prioritäten ändern?

Also wenn der Auftrag "erledigt" ist und die Bestellung "JA" ist, dass die Nummer "999_" vorgesetzt wird und wenn ich das "JA" entferne, dass der Auftrag dann wieder in die Liste integriert wird.

Vielen Dank

Gruss Weidplas123
Antworten Top
#4
Hallo

sicher können wir das Makro noch individuell zuschneiden, ich muss jetzt nur aufpassen das ich die Aufgabe richtig verstehe.  Modul2 war das Modul zum kopieren in die Tabelle Bestellung, und von dort wieder in die Werkzeugliste zurückkopieren. Ist das korrekt??

Da kann ich auch nach dem Koieren die "999_" davorsetzen und wieder löschen!  Sehe ich das richtig, wenn "JA" entfernt wird soll die Nummer zurückgesetzt werden??  Und was ist wenn "JA" bestehen bleibt??  Dann nicht zurücksetzen, aber wieder in die Werkzeugliste zurückkopieren??  
Ich habe morgen noch eine Knobelaufgabe, kann etwas dauern bis ich fertig bin.

mfg  Gast 123
Antworten Top
#5
Also Modul2 ist für mich nur die Nummer "999_" davorsetzen.

In dem jetzigen Makro ist es wenn "JA" und wenn nicht "erledigt" das die Nummer vorgesetzt wird und wenn ich "erledigt" setzte dann wird die Nummer wieder Original.

Ich würde gerne wenn "erledigt" und wenn "JA" das die Nummer "999_" vorgesetzt wird und wenn ich das "JA" entferne das dann die Nummer wieder Original ist.

Würde das gehen und wenn ja kann man das auch so Programmieren, dass wenn die Nummer "999_" vorgesetzt wird das dann nicht noch eine Nummer "999_" vorgesetzt wird bei mehrfachem drücken?

Besten Dank für deine Bemühungen

Gruss
Weidplas123
Antworten Top
#6
Durch das verändern der Parameter habe ich das Ergebnis das ich erreichen wollte.

Das habe ich verändert:
Bestellungen_nachunten_verschieben
If .Cells(j, "I") <> "erledigt" Then

Bestellungen_wieder_einsortieren
If .Cells(j, "P") <> "JA" Then


Jetzt fehlt nur noch, dass die Nummer "999_" nicht jedes mal neu geschrieben wird wen man die Funktion aufrufen wird?
Also wenn die Nummer "999_" schon vorgesetzt ist, dass sie nicht nochmals vorgesetzt wird. (Wenn das geht)

Sub Bestellungen_nachunten_verschieben()
On Error GoTo Fehler
Application.ScreenUpdating = False
With Worksheets("Werkzeugliste")
     'LastZell in Bestellung + Werkzeugliþste finden
     lz = .Cells(Rows.Count, 2).End(xlUp).Row
     'Rückwaerts Schleife zum Daten kopieren + löschen
     For j = 2 To lz
        If .Cells(j, "I") <> "erledigt" Then
        ElseIf .Cells(j, "P") = "JA" Then
           'Zeile von A-Z kopieren in Bestellung kopieren
           .Cells(j, 2) = "999_" & Cells(j, 2)
        End If
     Next j
    
     'Liste nach Nummer sortieren
     Call Werkzeugliste_sortieren
End With
Exit Sub
Fehler:  MsgBox "unerwarteter Fehler:  " & Error()
End Sub


Besten Dank für deine Bemühungen

Gruss
Weidplas123
Antworten Top
#7
Hallo

ich freue mich sehr das du den Code selbstaendig erweitert hast, hast mir Arbeit abgenommen, Danke!!

Was mich vor allem freut ist, wenn man meinen Code versteht, und ihn dann selbst anpassen kann.  So lernt man VBA.
Zur letzen Frage hast du mir selbst die Lösug auf dem Silbertablett angeboten, ich sah deine Lösung direkt. Schau mal hier:   (Vba ist sooo einfach!!)

        If .Cells(j, "I") <> "erledigt" Then
        ElseIf .Cells(j, "P") = "JA" And Left(.Cells(j, 2), 3) <> "999" Then

mfg Gast 123
Antworten Top
#8
Herzlichen Dank das du dir die Zeit genommen hast und mir geholfen hast das hat super geklappt.

Gruss Weidplas123
Antworten Top


Gehe zu:


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