Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erweiterung Copy&Paste....

Erweiterung Copy&Paste....
23.06.2015 11:52:32
Malte
...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

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
evtl gehts auch mit Verbundzellen
23.06.2015 12:06:26
Matthias
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

Anzeige
AW: evtl gehts auch mit Verbundzellen
23.06.2015 12:20:55
Malte
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

AW: evtl gehts auch mit Verbundzellen
23.06.2015 12:22:52
Malte
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)

Anzeige
Ich weiß nicht, was du hast, fktioniert doch ...
23.06.2015 12:43:58
Luc:-?
…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 …

AW: Ich weiß nicht, was du hast...
23.06.2015 12:53:58
Malte
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

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

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

Tja, dir fehlen da ein paar Spezialkenntnisse, ...
23.06.2015 13:31:19
Luc:-?
…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 :-?

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

AW: vielleicht nochmal etwas verständlicher..
24.06.2015 12:53:04
Daniel
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

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

AW: Erweiterung Copy&Paste....
23.06.2015 14:46:49
Malte
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

AW: Erweiterung Copy&Paste....
24.06.2015 08:25:37
Malte
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

Anzeige
gerade? MOD!
24.06.2015 09:37:04
Michael
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

Anzeige
AW: gerade? MOD!
24.06.2015 09:46:44
Malte
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

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

Anzeige
AW: Danke
24.06.2015 10:06:23
Malte
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

AW: Erweiterung Copy&Paste....
24.06.2015 19:15:39
Malte
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
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige