Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelte Zelle nur teilweise fusionieren

Doppelte Zelle nur teilweise fusionieren
30.11.2020 17:07:00
Lena
Hallo zusammen!
In meiner Excel-Tabelle werden die Arbeitsstunden meiner Mitarbeiter getrackt. Manche Mitarbeiter sind mit einem Kommentar versehen, falls diese aus einem bestimmten Grund weniger arbeiten, als sonst. Jeden Monat wird diese Tabelle durch die Stundeanzahl des aktuellen Monats erweitert. Die neuen Daten werden einfach unter die schon vorhandenen Daten kopiert.
Nun möchte ich gerne ein VBA programmieren, die die Daten eines Mitarbeiters zusammenführen kann.
Die Daten der Zellen (1;1) und (1;2) sollen beibehalten werden. Die Daten der Zellen (1;3) und (1;4) sollen entfernt werden und durch die neuen Daten in (6;3) und (6;4) ersetzt werden. Anschließend soll Zeile 6 gelöscht werden.
Da es sich bei meiner tatsächlichen Tabelle um hunderte Mitarbeiter handelt, kann die Daten nicht per Hand eintragen.
Ich habe mir bis jetzt folgende Gedanken dazu gemacht:
- Das Programm geht durch alle Zeilen durch
- Dabei vergleicht es die Personalnummern miteinander
- Ist eine Personalnummer doppelt hält das Programm beim unteren Duplikat an
--------- Die Daten aus C und D werden kopiert
- Nun geht das Programm zum ersten Duplikat und löscht die Daten aus C und D und fügt anschließend die kopierten Daten ein
- Das Programm geht zurück zu dem unteren Duplikat und löscht die gesamte Zeile
Ich hoffe man hat mein Anliegen verstanden :D Ich würde mich sehr freuen, wenn ihr mir dieses entsprechende VBA programmieren könnt, weil ich es alleine leider nicht hinbekomme.
Hier ein ScrennShot zur Veranschaulichung: Userbild
Liebe Grüße
Lena

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Zelle nur teilweise fusionieren
30.11.2020 17:19:18
onur
"Zellen (1;1)" ? Was ist das denn?
Abgesehen davon - mit Bildchen kann man nix anfangen.
Wenn schon, dann poste eine Datei.
Hws: Beachte die Gelbmarkierung, Onur! owT
30.11.2020 17:39:02
Luc:?
:-?
AW: Hws: Beachte die Gelbmarkierung, Onur! owT
30.11.2020 17:49:04
onur
?
Und was ist mit "(6;3) und (6;4)" ?
Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
30.11.2020 18:00:14
Luc:?
…Zeile 1 gleicher Spalte ersetzen, Onur;
das ist wohl Folge der Anmerkung in Zeile 1 Spalte 2 (B). Allerdings hätte bei dieser an VBA angelehnten Notation , statt ; gewählt wdn müssen. Andere Deutungen dürften wohl keinen Sinn ergeben.
Gruß, Luc :-?
AW: Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
01.12.2020 08:35:41
Lena
Hallo nochmal,
sorry für die Verwirrung. Ich möchte die Zelle (C2) durch die Zelle (C6) ersetzten und die Zelle (D2) durch (D6) ersetzte. Hier habe ich jetzt auch nochmal dir Datei :)
https://www.herber.de/bbs/user/141973.xlsx
Anzeige
AW: Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
01.12.2020 09:37:36
Matthias
Moin!
Mal als Frage: Können Personen (bzw. die zugehörigen Nummern) auch mehr als Zweimal vorkommen? Wenn ja, was soll dann passieren? Möglich wäre:
1. alle Duplikate löschen und nur die Werte vom allerletzten Eintag beim 1. erfasssen
oder
2. die Werte vom letzten in den ersten kopieren und nur den letzten löschen
?
VG
AW: Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
01.12.2020 09:44:15
Lena
Moin,
die Personen können höchstens zweimal vorkommen. Aber falls es mal passieren sollte, dass eine Person öfter als zweimal auftaucht, fände ich Variante ". passender.
Liebe Grüße
AW: Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
01.12.2020 09:45:21
Lena
Oh sorry, ich meine die 2. Variante ;)
AW: Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
01.12.2020 09:51:37
Matthias
Moin!
Dann probiere mal das an einer Testdatei. Damit geht der Code von oben nach unten durch deine Datei. Bei jeder Zeile sucht er die Nummer dann in der inneren Schleife von unten nach oben, ob er einen identischen Eintrag findet. Wenn ja, werden die Spalten C und D zum 1. Eintrag kopiert. Im COde ist auch die Möglichkeit, den Kommentar mit zu kopieren hinterlegt. Allerdings auskommentiert. Das kann man noch mit aktivieren. Danach wird die Zeile gelöscht.
Einfach mal testen
Sub kopieren_loeschen()
Dim ende As Long
Dim zeile As Long, zwzeile As Long
ende = Cells(Rows.Count, 1).End(xlUp).Row
For zeile = 2 To ende
For zwzeile = ende To zeile + 1 Step -1
If Cells(zeile, 1)  "" Then
If Cells(zeile, 1) = Cells(zwzeile, 1) Then
'identischen Nummern
Cells(zeile, 3) = Cells(zwzeile, 3)
Cells(zeile, 4) = Cells(zwzeile, 4)
'wenn der Kommentar auch mit kopiert werden soll,
'in der nächsten Zeile den Anstrich rausnehmen
'Cells(zeile, 2) = Cells(zwzeile, 2)
Rows(zwzeile).Delete
ende = ende - 1
Exit For
End If
End If
Next
Next
End Sub

VG
Anzeige
AW: Zeile 6 Spalten 3:4 (C:D) sollen die Werte in ...
01.12.2020 09:57:28
Lena
Wow,
vielen vielen Dank!!! Es hat direkt funktioniert!
Dir einen schönen Tag noch und liebe Grüße :)
AW: Doppelte Zelle nur teilweise fusionieren
30.11.2020 17:56:13
Günther
Moin, ich zitiere einmal:
  • Da es sich bei meiner tatsächlichen Tabelle um hunderte Mitarbeiter handelt, kann die Daten nicht per Hand eintragen.

  • Absolut verständlich, dass ein so kleiner Betrieb auf kostenlose Hilfe von Freiwilligen Helfern angewiesen ist und sich keine professionelle Hilfe (beispielsweise beim Betreiber dieses Forums) leisten kann… :-((
     
    Gruß
    Günther  |  mein Excel-Blog
    Anzeige
    AW: Doppelte Zelle nur teilweise fusionieren
    30.11.2020 18:44:02
    ralf_b
    @ Günther,
    sehr gut formuliert.
    Und zum Vorhaben fällt auf, was passiert denn mit den wichtigen Kommentaren, wenn die Datei nicht mehr händisch beackert wird? Wird eine KI benötigt, die die Kommentarinformationen bewertet und entsprechend ungesehen einarbeitet? Die Verbindung Stundenzahl und Kommentar geht doch bei der Aktion verloren, oder täusche ich mich?
    Gruß
    RB
    AW: Doppelte Zelle nur teilweise fusionieren
    30.11.2020 22:12:53
    GerdL
    Moin Lena,
    teste an einer Kopie.
    Sub Unit()
    Dim X As Long
    For X = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
    If WorksheetFunction(Columns("A"), Cells(X, 1)) = 2 Then
    Cells(Application.Match(Cells(X, 1), Columns("A"), 0), 3).Resize(1, 2) _
    = Cells(X, 3).Resize(1, 2)
    Rows(X).Delete
    End If
    Next
    End Sub
    

    Gruß Gerd
    Anzeige
    AW: Doppelte Zelle nur teilweise fusionieren
    01.12.2020 08:42:38
    Lena
    Hallo Gerd,
    erstmal vielen Dank!!! Aber leider bekomme ich bei der Ausführung die Fehlermeldung, dass das Objekt die Eigenschaft oder Methode nicht unterstützt. Woran kann das liegen?
    Liebe Grüße
    AW: Doppelte Zelle nur teilweise fusionieren
    01.12.2020 18:37:33
    GerdL
    Hallo Lena,
    weil ich leider nur
    WorksheetFunction(
    statt Worksheetfunction.CountIf(
    geschrieben habe.

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige