Clever-Excel-Forum

Normale Version: Änderung Aktionsliste (Tricki)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe eine Aktionsliste in Excel von einer anderen Person übernommen und hätte gerne folgende Änderungen dort vorgenommen. Leider reichen meine Kenntnisse nicht dafür aus, dies so umzustricken. Wer
kann mir dabei behilflich sein, bzw. ist das überhaupt, so wie ich es möchte möglich ?

Die Datei enthält zwei Tabellen (offene- und abgeschlossene Aktionen). Ich hab dann in der Tabelle ("Offene Aktionen")  die Möglichkeit ein "X" in der Spalte A zu setzen und wenn ich dann den Command Button "Übertragen"
drücke, wird die komplette Zeile in die Tabelle ("Abgeschlossene Aktionen") verschoben und in der Tabelle ("Offen Aktionen") rutschen die weiteren Zeilen so wieder zusammen, dass keine Lücken entstehen. Das funktioniert auch super, ich benötige aber eine Änderung, die ich in den Tabellen "neue" der Beispieldatei geändert  habe, wobei dort für eine Problembeschreibung vier Aktionen möglich sind. Das erste Problem ist schon der Kalender, in Spalte C läst sich jetzt nicht mehr mit Doppelklick aufrufen, weil die Zellen jetzt verbunden sind und die Übertragung wird ohne Code Änderung in diesem Format nicht funktionieren. Vielleicht ist es ja auch so nicht möglich, aber vielleicht gibt es das draußen doch einen SUPER-Hero der das doch hin bekommt.

Liebe Güße
Kathrin
Hallöchen,

Zitat:Das erste Problem ist schon der Kalender, in Spalte C läst sich jetzt nicht mehr mit Doppelklick aufrufen, weil die Zellen jetzt verbunden sind
Das lässt sich relativ easy lösen indem Du die Verbindung aufhebst.

Zitat:und die Übertragung wird ohne Code Änderung in diesem Format nicht funktionieren.
vor allem müsste man wissen, was wie übertragen soll. Wenn man 4 verschiedene Aktionen mit 4 verschiedenen Akteuren und 4 verschiedenen Daten hat müsste man eigentlich 4 Zeilen draus machen, oder nicht? Da wäre dann auch die Frage, wie die Zählung erfolgen soll. Wird aus der ersten Übertragung dann 1-4 falls das noch frei ist und aus der zweiten dann 7-9 falls da schon ein einzelner dazwischen gekommen ist und die zweite Position nur 3 Einträge hat? Die Verbindung zur bisherigen Nummer geht ja sowieso verloren wenn Du die Tabelle mit Daten unterschiedlicher Blätter füllst.
Hallo,

es soll der komplette Block 1 zu 1 übertragen werden, dies wird ja durch das  setzen von dem "X" in Spalte 1 festgelegt. Es wird auch nur übertragen, wenn alle 4 Aktionen ein "Erledigt" Datum haben. Ist schwierig, wenn es überhaupt funktioniert. Klar, übertragen ist nicht die Schwierigkeit, aber das die anderen Funktionalitäten, sprich ich übertrage einen Block aus der Mitte, so dass alles wieder aufrutscht, bzw. das dieser Block sich in der anderen Tabelle unten anfügt. Aber, das ist die Einschätzung von einem Anfänger.

Liebe Grüße
Hallöchen,

hier mal ein Ansatz.
Hallo,

der Ansatz ist schon fast perfekt, jetzt müssten nach dem übertragen nur noch die verbunden Zellen (Spalte A bis F + Spalte M) Bestand haben, denn diese sind danach nicht mir verbunden.
Hallo,

verbundene Zellen sind Murks. Lass sie weg.
Hallöchen,

Du könntest das Ende vom Makro ...neu so gestalten:


Code:
Application.DisplayAlerts = False
   Set rngX = rngX.Cells(1).Resize(4, 1)
   rngX.Merge
   For X = 2 To 7
     rngX.Offset(0, X).Resize(4, 1).Merge
   Next
   rngX.Offset(0, 12).Resize(4, 1).Merge
  
On Error GoTo 0
NIX:
Application.DisplayAlerts = True
Hallo,

schon mal danke für die großartige mühe, ich hatte im Code eine kleine Anpassung vorgenommen, denn es wurden falsche Zellen verbunden. Aus For X = 2 To 7 wurde For X = 1 To 5. Das einzige Probleme ist noch,
wenn ich wie in der jetzt wieder hochgeladenen Datei den Button klicke, bleibt test4 in falscher Formatierung, also nach oben hin werden die verbunden Zellen wieder hergestellt und nach unten scheinbar nicht, zumindest wenn
man gleichzeitig mehrere X setzt. Kann man da auch noch was machen ? 

Achso, rngX.Offset(0, 12).Resize(4, 1).Merge macht scheinbar nichts, zumindest wird der Status in Spalte M nicht verbunden, sehe aber da keinen Fehler. Komisch.

Schon mal herzlichen vielen Dank für die bisherige Hilfe

LG
Hallöchen,

Spalte 1 sollte eigentlich schon über der Schleife abgefrühstückt sein Smile

Setze mal in die Zeile

rngX.Offset(0, 12).Resize(4, 1)

einen Haltepunkt und füge diese Überwachung ein:

rngX.Offset(0, 12).Resize(4, 1).Address

Da sollte eigentlich die Spalte M stehen bzw. konkret die Adresse, z.B. $M$8:$M$11

Zitat:also nach oben hin werden die verbunden Zellen wieder hergestellt und nach unten scheinbar nicht,

Entweder könnte man in einer Schleife um den letzten Code sicherheitshalber das Mergen alle 4 Zeilen ausführen oder man könnte schauen, wie man das weiter oben einbindet
Man könnte übrigens auch prüfen, ob eine Zelle in einem verbundenen Bereich liegt und dann nur mergen, wenn es nicht der Fall ist.

Im Prinzip

Code:
For Y = 1 T 100
  Set rngX = rngX.Cells(1).Resize(4, 1)
  rngX.Merge
  For X = 2 To 7
    rngX.Offset(0, X).Resize(4, 1).Merge
  Next
  rngX.Offset(0, 12).Resize(4, 1).Merge
  Set rngx = rngx.Offset(4,0)
Next

Wobei man dann schauen muss, ob man eine feste Zahl, z.B. die  100, programmiert oder die Anzahl der Blöcke analysiert.