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.

Inhalte mehrerer unabhängiger Zellen kopieren, sortieren und einfügen in neuem Tabell
#1
Hallo liebe Excel Profis,
ich habe mich mal wieder bei einem mir selbst auferlegten Excel Projekt übernommen.  :26:

Die angehängte Datei beinhaltet die Topliste, das Protokoll und soll zukünftig ein Archiv zu unseren Teamsitzungen beinhalten.
Ich weiß verbundene Zellen sind Teufelswerk, habe TOP und Protokoll aus unserem Bestand übernommen wurde bisher von hand ausgefüllt und im Ordner abgeheftet.
Das ganze ein bischen angepasst um meine natürliche Faulheit ein bischen zu unterstützen.
Um die nicht so Computer affinen Kollegen nicht zu verprellen würde ich die Tabellen gerne so weiter benutzen..

Per Com Button wird das Protokoll als PDF gespeichert und als E-Mail an alle Kollegen versand das hab ich mir mit Google und Sufu zurechtgeschnippselt, funktioniert auch.
Jetzt möchte ich darüber hinaus noch erreichen, das beim klick auch die Einträge: Datum, TOP Nr., Thema, Status, Termin, Verantwortlicher, Ergebnis zum jeweiligen Top sofern im Bereich Thema ein Eintrag ist  aus dem Tabellenblatt Protokoll in das Tabellenblatt Archiv als eine Zeile reinkopiert werden. Wenn möglich sortiert nach erledigt/offen und Datum, also offene nach oben und erledigt nach unten und immer das jüngste Datum oben im jeweiligen Abschnitt. Um nicht zig PDF's durchschauen zu müssen.

Ich hoffe ich drück mich verständlich aus.

Habe einen Codeschnipsel gefunden der unabhängige Zellen ausliest und auch kopiert will bei mir aber nicht fluppen.
Habe auch Code Schnipsel zum sortieren gefunden aber krieg beides nicht verknüpft.

Vielleicht will ich auch zuviel für einen Button.

Bin für jede Hilfestellung und Denkanstoss dankbar.

schönen Samstag

Gruß Micha


Angehängte Dateien
.xlsm   Teamprotokoll.xlsm (Größe: 52,34 KB / Downloads: 9)
Antworten Top
#2
Hallo Micha,

warum wohl erhälst du keine Antworten, geschweige denn Hilfe?
Sicherlich weil sich niemand mit deiner "verkorksten" Tabelle auseinander setzen will!

Wie du bereits selbst festgestellt hast, sind verbundene Zellen absoluter Mist und verderben das ganze Vergnügen an VBA.
Ganz zu schweigen davon, dass sie Fehler und Abstürze provuzieren!

Baue deine Tabelle vernünftig um, ohne verbundene Zellen, die werden überhaut nicht gebraucht und nutze die Formatierungsmöglichkeiten - z.B. für deine TOP 5 (oder jede andere Nummer) sind keine 2 Zellen erforderlich, eine Zelle reicht: Formatiere diese als "Zahlen", dan "Benutzerdefiniert" und als Typ "TOP "0 - jede eingegebene Zahl in dieser Zelle wird dann als TOP 5 angezeigt und gerechnet kann mit dieser ZHelle auch noch.

Wenn du deine neue Tabelle vorstellst, wird die sicherlich auch unverzüglich geholfen werden.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#3
Hallo Günter,
danke für das ernüchternde Feedback, hatte schon ähnliches befürchtet.
War persönliche Faulheit und bei den älteren Kollegen sind Veränderungen an bekannten Prozeduren immer nur mit viel Gesprächsarbeit umsetzbar.

Im Kern ging es mir auch eigentlich darum ob man die Zellen (C8,E11,U13,M13,E13,E14);(C16,E19,U21,,M21,E21,E22);(C24,E27,U29,M29,E29,E30)...etc
über den Combutton zu jeweils einer Zeile zusammenpacken kann und in das Tabellenblatt Archiv in die erste freie Zeile kopieren.
Mit Union Range gings nicht da die Methode zwar bei unabhängigen Zellen funktioniert aber nur wenn sie angrenzend sind zumindest laut debug.
Das Sortieren wäre noch on Top gewesen falls möglich.

Das sich in das verkorste Ding rein zu fuchsen abschreckt versteh ich, hatte die vage Hoffnung das jemand nen Tip an Hand der Beschreibung weiß.
Will euch ja nicht meine Arbeit anplacken sondern nur nen Schubs in die richtige Richtung und die Bestätigung das es überhaupt möglich ist.

Dann werd ich mal versuchen die Formatierungen anzupassen ohne das Formular zu sehr zu verändern.

Gruß Micha
Antworten Top
#4
Hallo Micha,

deine unterschiedlichen Zellen kannst du doch einfach durch addieren zu einer zusammenführen - in VBA in eine Variable!
Man kann dazu den Befehl VERKETTEN verwenden oder einfach addieren, so etwa

=C3&" "&E11&" "&M11&" "&D8 ....

und in VBA

ZUSAMMEN = Range("C3") & " " & Range("E11") & " " & Range("M11") & " " & Range("D8") ....

sowie bei Wiederholung, z.B. in einer Schleife

ZUSAMMEN = Cells(3, 3) & " " & Cells(11, 5) & " " & Cells(11, 12) & " " & Cells(8, 4) ...

wobei die Zeilen-/Spaltenangabe in Cells auch durch Variablen erfolgen kann.

Übrigens muss dein Formular nach dem "Entschlacken" nicht anders aussehen wie jetzt, nur werden die benutzen Spalten wesentlich geringen und haben dann unterschiedliche Größen - da brauchst die Niemanden zu überreden und zu überzeugen.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#5
Hallo Günter,

danke für deinen Tip mit der Variabel. Aber ich hab mich da missverständlich ausgedrückt glaub ich oder mein geringes Wissen reicht nicht um dir zu folgen.
Ich versuche aus den Zellen C1,C8,E11,U13,M13,E13,E14 im Tabellenblatt Protokoll die Inhalte der Zellen in das Tabellenblatt Archiv in die Zellen z.B. A1 bis G1 eingetragen zu lassen.

nach etlichem googlen und lesen bin ich durch deinen Hinweis mit der Variabel darauf gestossen die jeweiligen zellen als Variable zu kopieren und dann einzufügen.
Allerdings stoße ich da jetzt wieder auf meine Wissensgrenze.

der Code für das archivieren sieht jetzt so aus

Private Sub Archivieren()

Dim Top1 As Range, TOP2 As Range, etc.


    Set Top1 = Sheets("Protokoll").Range("C1,C8,E11,U13,M13,E13,E14")
    Set Top2 = Sheets("Protokoll").Range("C1,C16,E19,U21,M21,E21,E22")
    etc.

   
    Top1.Copy
    Sheets("Archiv").Range("A65536").End(xlUp).PasteSpecial Paste:=xlValue
    Application.CutCopyMode = False

leider stoppt der Code bei Top1.Copy mit der Meldung "Laufzeitfehler '1004, Bei einer Markierung von nicht angrenzenden Zellen ist die Ausführung dieses Befehls nicht möglich."
google und SuFu bringenmich leider auch nicht weiter, gefunden hab ich vieles aber nichts was mich mit meinem eingeschränkten WIssen weiter gebracht hat.

Unterliege ich einem Denkfehler oder ist mein Ansatz gänzlich für die Katz oder hab ich nur etwas übersehen?

Eventuell seht ihr das mit einem Blick, falls nicht lade ich gern eine Beispieldatei mit dem Code hoch

Liebe Brüße und einen schönen Samstag
Micha
Antworten Top
#6
Hallo Micha,

das copy funktioniert nur, wenn die Zellen alle in einer Zeile oder einer Spalte sind.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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