Autom. Verschiebung von erledigten Punkten in Excel

Guten Morgen Zusammen!

Momentan habe ich eine Maßnahmenliste gebaut. Mit den neueren Excel kann man über eine bedingte Formation (Symbolsätze) schön den Bearbeitungsstatus anzeigen lassen.

Ich habe zwei Reiter erstellt:

  • in Bearbeitung
  • erledigt

Beide Reiter sind identisch mit folgenden Spalten aufgebaut:
Spalte A: Datum
Spalte B: Thema
Spalte C: Status mit Drop-Down (0%;25%;75%;100%)

Wie kann ich eine Zeile automatisch, wenn ich diese im Reiter „in Bearbeitung“ auf 100% stetze, in den Reiter „erledigt“ verschieben. Dabei soll nächstfreie Zeile im Reiter „erledigt“ beschrieben werden und die entstanden Lücke (bei "in Bearbeitung) soll entfernt werden.

Was muss ich denn da programmieren? Wie kann ich das realisieren?
Vielen Dank!

baba

Beide Reiter sind identisch mit folgenden Spalten aufgebaut:
Spalte A: Datum
Spalte B: Thema
Spalte C: Status mit Drop-Down (0%;25%;75%;100%)

Hallo Baba,

dein Dropdown in den C-Zellen, sind das Gültigkeit–Liste Auswahlfelder wo 0,25,75,100 zur Auswahl stehen?

Wenn nein, lade eine Beispielmappe hoch mit file-upload, s. FAQ:2606

Gruß
Reinhard

Hallo Reinhard,

danke für Deine Antwort. Anbei der Screenshot.

http://www.file-upload.net/download-8159160/Ma–nahm…

Mit den Eingabewerten 25, 50, 75, 100 lasse ich durch die bedingte Formation diese Kreise anzeigen. In meiner Zeile 81 sollten nun die „Orangen“, nach dem diese auf 100 sind in den Reiter „erledigt“ verschoben werden.

Hallo Baba,

danke für Deine Antwort. Anbei der Screenshot.
http://www.file-upload.net/download-8159160/Ma–nahm…

? ich bat um eine Mappe *seufz*. Meine Frage haste nicht beantwortet. Jetzt muß ich nachfragen wie früher bei „Wer bin ich“ oder hieß das „Was bin ich“, egal das mit den Schweinschen :smile: Kennste nicht, egal, mußte nicht kennen.

Gehe ich Recht in der Annahme daß du im Blatt Drop Down die Auswahl die man im Bild im Auswahlfensterchen sieht in Zellen stehen hast?
Was bitteschön soll denn genau geschehen wenn jmd. „Info“ auswählt?

Mit den Eingabewerten 25, 50, 75, 100 lasse ich durch die
bedingte Formation diese Kreise anzeigen. In meiner Zeile 81
sollten nun die „Orangen“, nach dem diese auf 100 sind in den
Reiter „erledigt“ verschoben werden.

Okay, das habe ich schon verstanden. Ich frage, letztlich nur in deinem Interesse bestimmtes nach.

Gruß
Reinhard

Hallo Reinhard,

anbei der Link zur Datei.

http://www.file-upload.net/download-8161631/XXXMa–n…

Das Feld „Info“ soll in der Maßnahmenliste stehen bleiben und die Nutzer über Festlegungen informieren. Ich habe in der Excel-Datei exemplarisch ausgeführt warum

mfg

Baba

Hallo Baba,

http://www.file-upload.net/download-8161631/XXXMa–n…

na siehste, geht doch. Zur Mappe habe ich dir ja schon gemailt und dich gebeten sie nicht nur mir zu zeigen. Du weißt doch gar nicht was mein Bewährungshelfer weiß :smile:
Und vertrauliche Daten konnte ich wie geschrieben nicht entdecken, ist also unkritisch in einem Forum zu präsentieren. Außer du bist Obermacho und schämst dich daß nun jeder weiß daß du Kuchen backen kannst.

Im Ernst:
Ich habe Kleinigkeiten vergessen zu erwähnen. Es ist absolut eine sehr schlechte Idee intime Daten in ausgeblendeten Spalten/Zeilen oder auch in nicht sichtbaren Blättern „verstecken“ zu wollen.

Wenn du intime Daten wie Klarnamen, Firma u.ä. in der Mappe haben könntest so prüfe das vorher vor dem Hochladen. Das geht mit rundem Office-Symbol oben links, dann „vorbereiten“, dann siehste ja die Auswahl an Checkmöglichkeiten.

Btw. @Alle Was meinen die da eigentlich mit Metadaten? Hab ich die als standalone PC auch?

Hier ist deine Mappe nach Bearbeitung durch mich zurück.
http://www.file-upload.net/download-8162715/kwBaba.x…

Da ich kein angesagtes Dropdown-ähnliches habe ich …—Gültigkeit—Liste für Spalte I angelegt. Probier in Spalte I, gehst du in eine Zelle erscheint ein Pfeil daneben, klick darauf…

Der nachstehende Code reagiert vollautomatisch (bei aktivierten Makros) wenn du in I in EINER Zelle etwas durch die Liste auswählst.
Hast du 100 ausgewählt geschieht die Verschiebung in das andere Blatt.

Teste nach Herzenslust alles Mögliche durch. Abgesehen von Vba versuche herauszufinden wie ich da was gelöst habe. Ist keine Hexenkunst, frag dann gezielt nach.

Achja, mit „Info“, ja, mein Blindenhund knurrt schon, aber ich finde da nix wo du das exemplarisch erläutert hast?

Gruß
Reinhard

Gehört in das Modul vom Blatt „Maßnahmenplan“

Option Explicit

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Wks2 As Worksheet, Zei2 As Long
Set Wks2 = Worksheets("erledigt")
Set Target = Intersect(Target, Range("I:I"))
If Target Is Nothing Then Exit Sub
If Target.Count \> 1 Then
 MsgBox "mehrere Zellen gleichzeitig in I abzuändern" & vbLf & \_
 "war nicht besprochen, also macht der Code nix, frag im Brett nach, "
 Exit Sub
End If
Application.EnableEvents = False 'k.A. ob hier nötig, vllt. wächst der Code ja
Select Case Target.Value
 Case 100
 Zei2 = Wks2.Cells(Rows.Count, 2).End(xlUp).Row + 1
 Range("B" & Target.Row, "J" & Target.Row).Copy Wks2.Range("B" & Zei2)
 Rows(Target.Row).Delete
 Case "Info"
 MsgBox "Und nu, was soll bei Info geschehen?"
 Case Else
 'nix
End Select
Application.EnableEvents = True
End Sub

Das Feld „Info“ soll in der Maßnahmenliste stehen bleiben und
die Nutzer über Festlegungen informieren. Ich habe in der
Excel-Datei exemplarisch ausgeführt warum

mfg

Baba

Hallo Reinhard,

Entschuldigung für meine späte Antwort. War dienstlich unterwegs und irgendwie konnte ich mich hier nicht anmelden - egal!

Vielen Dank für das Makro! Arbeitet super! Die Kommentare finde ich cool!

Bin schon fleißig am Probieren. Wenn mir noch eine Idee einfällt, bin ich mal so frei und komme wieder auf Dich zu :smile:

Viele Grüße

Baba

Hallo Reinhard,
danke Deines Codes mit n bissl rauchendem Kopf und einigen anderen Forumeinträgen habe ich den Code noch etwas angepasst.

Klappt supppi!

xxxxxxx
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Wks2 As Worksheet, Zei2 As Long
Set Wks2 = Worksheets(„erledigt“)
Set Target = Intersect(Target, Range(„I:I“))
If Target Is Nothing Then Exit Sub
If Target.Value = „100“ Then
Target.Offset(0, 1) = Date
End If

If Target.Count > 1 Then
MsgBox „Bitte nur jeweils eine Zeile auf erledigt setzen,“ & vbLf & _
„sonst führt das Kopieren zu einem Fehler!“
Exit Sub
End If
Application.EnableEvents = False 'k.A. ob hier nötig, vllt. wächst der Code ja
Select Case Target.Value
Case 100
Zei2 = Wks2.Cells(Rows.Count, 2).End(xlUp).Row + 1
Range(„B“ & Target.Row, „R“ & Target.Row).Copy Wks2.Range(„B“ & Zei2)
Rows(Target.Row).Delete
Case „Info“
Zei2 = Wks2.Cells(Rows.Count, 2).End(xlUp).Row + 1
Range(„B“ & Target.Row, „R“ & Target.Row).Copy Wks2.Range(„B“ & Zei2)
Rows(Target.Row).Delete
Case Else
'nix

End Select
Application.EnableEvents = True

End Sub