Erweiterung Copy&Paste....

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: Erweiterung Copy&Paste....
von: Malte Ludwig
Geschrieben am: 23.06.2015 11:52:32

...per Combobox und Range auf weitere Liste. Mit Index.
An dieser Stelle vielen Dank an fcs, Michael, und Matthias L für die wundervolle Unterstützung!
Alle Codes zusammen ergeben folgende Beispielmappe
https://www.herber.de/bbs/user/98402.xlsm
In dieser Mappe soll nun die Combobox, welche auf Tabelle1 aktiviert wird, auf der Tabelle, welche der Person zugeordnet ist, nicht nur dessen Daten von Tabelle1 auslesen, sondern auch vom der (später versteckten) Dokumentationstabelle.
Hier müsste also der Code alle Zeilen auslesen, die PersonX zugeordnet werden können, und diese unterhalb der bereits durch den Code Kopierten Range auf die bereits durch den Code erstellte Tabelle "PersonX" pasten.
Problem wird sein (wovor ihr mich alle gewarnt habt...), dass ich als Personenbezug eine Verbundszelle verwende, weswegen bei Änderungen in Tabelle1 auf der Dokumentationsseite nur diejenigen Zellen einen korrekten Personenbezug haben, in denen die Zahlen eingetragen werden, nicht jedoch die, in denen der Code das Änderungsdatum einträgt.
Die Zahlen werden immer in Zeilen mit gerader Kennung eingetragen, die Daten immer in Zeilen mit ungerader Kennung, vielleicht gibt es dafür ja einen Befehl wie
If "Änderungszelle" gerade, Then _
For Each rngZelle In Target
.Cells(lngLZ, 3) = Cells(rngZelle.Row, 2)
Else
.Cells(lngLZ, 3) = Cells(rngZelle.Row -1, 2)
oder so.
Ich hoffe, das reicht an Informationen, ansonsten füge ich gerne noch hinzu!
Wie immer herzlichen Dank für eure Hilfe im Voraus,
LG,
Malte

Bild

Betrifft: evtl gehts auch mit Verbundzellen
von: Matthias L
Geschrieben am: 23.06.2015 12:06:26
Hallo
Naja, schon viel gehört über Verbundzellen, ok.
Aber man kann sie trotzdem benutzen.
Hier siehst Du das in der 2.Zeile jeder Verbundzelle immer der gleiche Name steht.

 BC
10Person1Person1
11Person1
12Person2Person2
13Person2
14Person3Person3
15Person3
16Person4Person4
17Person4
18Person5Person5
19Person5

Formeln der Tabelle
ZelleFormel
C10=B10
C11=B11
C12=B12
C13=B13
C14=B14
C15=B15
C16=B16
C17=B17
C18=B18
C19=B19


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Evtl. hift Dir das ja
https://www.herber.de/bbs/user/98403.xlsm
Gruß Matthias

Bild

Betrifft: AW: evtl gehts auch mit Verbundzellen
von: Malte Ludwig
Geschrieben am: 23.06.2015 12:20:55
Im direkten Bezug würde mir das helfen, aber da die Combobox ja die zu kopierenden Zellen anhand des Namens aus Spalte X sucht, und alle leeren Zellen dieser Spalte ignoriert (also auch die "leeren" Bestandteile der Verbundzellen), muss ich ja einen relativen Rückbezug herstellen, so wie ich das verstehe?
Wenn also der Name in A1 steht, und die zugehörigen Änderungen aus B2 und B3 ausgelesen werden, muss ich ja in der Dokumentationsliste für jede ungerade Zelländerung (B3) einen Rückbezug auf A1 stellen können.
Weiß nicht ob das so verständlich ist?
LG
Malte

Bild

Betrifft: AW: evtl gehts auch mit Verbundzellen
von: Malte Ludwig
Geschrieben am: 23.06.2015 12:22:52
Im direkten Bezug würde mir das helfen, aber da die Combobox ja die zu kopierenden Zellen anhand des Namens aus Spalte X sucht, und alle leeren Zellen dieser Spalte ignoriert (also auch die "leeren" Bestandteile der Verbundzellen), muss ich ja einen relativen Rückbezug herstellen, so wie ich das verstehe?
Wenn also der Name in A1 steht, und die zugehörigen Änderungen aus B2 und B3 ausgelesen werden, muss ich ja in der Dokumentationsliste für jede ungerade Zelländerung (B3) einen Rückbezug auf "Name" (A1) stellen können.
Weiß nicht ob das so verständlich ist?
LG
Malte
Sorry hatte einen Fehler im Text (fett markiert)

Bild

Betrifft: Ich weiß nicht, was du hast, fktioniert doch ...
von: Luc:-?
Geschrieben am: 23.06.2015 12:43:58
…wunderbar mit Mattis Vorschlag, Malte… ;-]
Hier deine entsprd ergänzte Datei zurück.
Vielleicht begreifst du das besser mit diesem Beitrag?!
Gruß, Luc :-?

Besser informiert mit …

Bild

Betrifft: AW: Ich weiß nicht, was du hast...
von: Malte Ludwig
Geschrieben am: 23.06.2015 12:53:58
Du hast recht, es funktioniert!
Ich begreife nur nicht wie, und was jetzt im Code geändert wurde, aber vielleicht habe ich auch zu kompliziert gedacht.
Super, dann versuche ich mal das andere hinzubekommen.
Danke euch beiden!
LG
Malte

Bild

Betrifft: Im Code habe ich nichts geändert! Folge dem Link!
von: Luc:-?
Geschrieben am: 23.06.2015 12:56:24
;-)
Luc :-?

Bild

Betrifft: AW:Ähhh...ja.
von: Malte Ludwig
Geschrieben am: 23.06.2015 13:03:56
Ok, bin dem Link gefolgt, und lande an einem sprichwörtlichen Bahnhof :)
LG
Malte

Bild

Betrifft: Tja, dir fehlen da ein paar Spezialkenntnisse, ...
von: Luc:-?
Geschrieben am: 23.06.2015 13:31:19
…wie den Allermeisten, Malte… ;-]
Mit dem dortigen Pgm kann man solche VerbundZellen-Strukturen, wie sie jetzt auch deine Mappe enthält, erzeugen. Voraussetzung ist nur eine Liste mit sich wiederholenden Werten in der relevanten Spalte. Die mit diesem Pgm erzeugbaren VerbundZellen bewahren alle ursprünglichen Werte, so dass es keine LeerZellen innerhalb der VerbundZelle gibt.
Ich habe jetzt allerdings nicht dieses Pgm benutzt, sondern die MusterZelle weiter unten auf deinem Blatt, die mit dem FormatPinsel zu kopieren und dann auf die relevanten EinzelZellen zu übertragen ist. Immer 2 wdn dadurch zu einer VerbundZelle, die alle Werte bewahrt. Das hatte dir schon Matti demonstriert.
Luc :-?

Bild

Betrifft: AW: nur wie?
von: Malte Ludwig
Geschrieben am: 24.06.2015 08:38:24
Hm.
Kannst du mir denn verraten WIE du und Mattias das gemacht haben? Falls die "Musterzelle" aus irgendeinem Grund mal verschwindet?
lg
Malte

Bild

Betrifft: AW: vielleicht nochmal etwas verständlicher..
von: Daniel
Geschrieben am: 24.06.2015 12:53:04
es gibt zwei Wege, Zellen miteinander zu verbinden:
1. du markierst die zu verbindenden Zellen, klickst über das Kontextmenü: Zelleformatieren - Ausrichtung - Textsteuerung - Zellen verbinden.
(oder klickst auf Start - Ausrichtung - Verbinden und Zentrieren)
2. du verbindest über die oben beschriebene Methode zunächst andere, leere Zellen (dh nicht die Zellen, die du eigentlich verbinden willst).
Dann kopierst du diese Zellen und überträgst das Format auf die eigentlich zu verbindenden Zellen (Menü Start - Zwischenablage - Formatübertragen)
der unterschied zwischen beiden Methoden ist folgender:
bei 1) bleibt nur der Wert der oberen linken Zelle des Zellverbundes erhalten, alle anderen werden gelöscht.
bei 2) bleiben alle Zellwerte im Zellverbund erhalten, sie werden nur nicht angezeigt.
Vorteil der Methode 2) ist, dass hier die Tabelle weiterhin mit Formeln ausgewertet oder der Filter verwendet werden kann. Wird der Zellverbund aufgehoben, sind die Werte wieder da.
Gruß Daniel

Bild

Betrifft: AW: vielleicht nochmal etwas verständlicher..
von: Malte Ludwig
Geschrieben am: 24.06.2015 13:16:53
Ahhhhhhh!
Super Erklärung, danke dir!
Und ich dachte dahinter stünde irgendeine Art Hexenwerk!
lg
Malte

Bild

Betrifft: AW: Erweiterung Copy&Paste....
von: Malte Ludwig
Geschrieben am: 23.06.2015 14:46:49
Alright,
das Problem mit dem Zellbezug in Verbundszellen ist gelöst (vielen Dank an Luc:-? und Matthias L,
jetzt muss nur noch der Code im UserForm verändert werden, damit die Combobox auf der neu erstellten Tabelle auch die Dokumentationstabelle ausliest.
Super wäre, wenn sie dabei die Tabelle und die Person berücksichtigt, falls nochmal andere Tabellen dazukommen.
Vielen Dank im Voraus,
LG
Malte

Bild

Betrifft: AW: Erweiterung Copy&Paste....
von: Malte Ludwig
Geschrieben am: 24.06.2015 08:25:37
Hallo ihr Lieben,
ich komme leider alleine nicht weiter, da ich von VBA nichts verstehe.
Ich müsste das Problem gelöst bekommen, wenn ich beim selektieren des zu kopierenden Zellbereichs zu PersonX auf "Projekt" gleichzeitig auf "Doku" Spalte B und C nach "Projekt" und "PersonX" indiziere, und dann die dazugehörigen Zeilen in die neu erstellte Tabelle "PersonX" eintrage.
Allerdings weiß ich nicht wie das geschrieben wird....
Vielen Dank für eure Hilfe bisher und in Zukunft,
LG
Malte

Bild

Betrifft: gerade? MOD!
von: Michael
Geschrieben am: 24.06.2015 09:37:04
Hallo Malte,
ich begreife, ehrlich gesagt, nicht ganz, wo das Problem liegt: wenn ich eine Person wähle, wird ein neues sheet erstellt, und alles scheint gut zu sein.
Aber weil Du meinen Codeschnipsel nochmal zitiert hast, hier ein weiterer Schnipsel zur Funktionsweise von MOD. Das steht für Modula, Du kannst auch in der Excel-Hilfe (bzw. dem Funktionsassi) unter =Rest nachsehen.
Bitte ausprobieren:

Sub test()
s = ""
For i = 1 To 10
  s = s & " i: " & i & " ist "
  If i Mod 2 = 0 Then s = s & "gerade" Else s = s & "ungerade"
  s = s & vbCrLf
Next
MsgBox s
End Sub
' wenn Du eine Variable zeile hast, sonst evtl. 
' zeile = Zelle.row 
' (wie auch immer die Zelle heißt)
'If zeile Mod 2 = 0 Then _       ' dann ist sie gerade
'For Each rngZelle In Target
'.Cells(lngLZ, 3) = Cells(rngZelle.Row, 2)
'Else
'.Cells(lngLZ, 3) = Cells(rngZelle.Row - 1, 2)

Hilft Dir das?
Schöne Grüße,
Michael

Bild

Betrifft: AW: gerade? MOD!
von: Malte Ludwig
Geschrieben am: 24.06.2015 09:46:44
Ich weiß gerade nicht auf welchen von mir geposteten Codeschnipsel du dich beziehst.
Wenn es um die geraden bzw. ungeraden Zellen geht, dann ist das Problem bereits von Mattias gelöst worden indem er es irgendwie geschafft hat in Verbundzellen keine Leerzellen zu haben (siehe anderer Antwortstrang).
Mein jetziges Problem ist, dass ich gerne auf dem neu erstellten Sheet auch die Daten zur jeweiligen Person aus dem Dokumentationsprotokoll auslesen würde,
wenn ich was falsch verstanden habe, korrigiere mich bitte!
lg
Malte

Bild

Betrifft: AW: gerade? MOD!
von: Michael
Geschrieben am: 24.06.2015 09:58:53
auf den allerersten in diesem Thread...
Na gut. Da mag ich mich jetzt nicht reinvertiefen, sorry.
Schöne Grüße,
Michael

Bild

Betrifft: AW: Danke
von: Malte Ludwig
Geschrieben am: 24.06.2015 10:06:23
Ah ok,
auf das selbe Problem hatte sich Matthias schon bezogen, ist gelöst, ich weiß nur nicht wie :D.
Kein Problem, danke dir vielmals für deine Hilfe so far,
ihr seid wirklich super!
LG
Malte

Bild

Betrifft: AW: Erweiterung Copy&Paste....
von: Malte Ludwig
Geschrieben am: 24.06.2015 19:15:39
Also, das Problem mit den Verbundzellen ist gelöst (siehe andere Antwortstränge),
ich bräuchte weiterhin einen Schnipsel, mit dem die Combobox passend zum in Tabelle1 gesuchten Namen alle Zeilen aus der Dokumentationstabelle ausliest. Top wäre, wenn hierbei auch die Tabelle1 berücksichtigt werden könnte, falls es mal mehrere Tabellen dieser Art gibt.
LG
Malte

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Software / Editor / Visualisierung"