Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
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

kopieren und zuordnen

kopieren und zuordnen
27.09.2022 19:42:54
Fred
Hallo Excel Experten,
ich möchte Zeilen-Datenbereiche kopieren und im selben Blatt entsprechend einfügen.
Die Bereiche haben in Spalte "H" eine "Kennung" (A oder B)
Die Bereiche sollen den gleichen Teamnamen in Spalte B zugeordnet werden und dann in entsprechender Zeile eingefügt werden (Sp P oder AD).
Kann ein Experte bitte mal drauf schauen und mir evt eine Lösung schreiben ?!
https://www.herber.de/bbs/user/155405.xlsb
Gruss
Fred

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kopieren und zuordnen
27.09.2022 20:37:33
ralf_b
wieso keine Formellösung? wenn(SpalteH= A;Wert aus Spaltex,"")
AW: kopieren und zuordnen
27.09.2022 20:48:21
Fred
Hallo Ralf_b,
aber wie stelle ich in einer Formel fest, in welcher Zeile der selbe Teamname in gleicher Spalte ist?
Gruss
Fred
AW: kopieren und zuordnen
27.09.2022 21:07:01
GerdL
Moin Fred!

Sub Unit()
Dim Zeile As Long
For Zeile = 11 To Range("B11").End(xlDown).Row
If Cells(Zeile, "H") = "A" Then
Call Range("B" & Zeile & ":O" & Zeile).Copy(Destination:=Cells(Zeile, "P"))
ElseIf Cells(Zeile, "H") = "B" Then
Call Range("B" & Zeile & ":O" & Zeile).Copy(Destination:=Cells(Zeile, "AD"))
End If
Next
End Sub
Gruß Gerd
Anzeige
AW: kopieren und zuordnen
27.09.2022 21:20:15
Fred
Hallo Gerd,
vielen Dank für deine Mühe!
Ich habe allerdings "Bockmist erklärt".
Die zugehörigen Werte von "A + B" sollen in die Zeile, die kein "A" oder "B" hat,- aber den gleichen Teamnamen (Spalte B)
Nochmals Entschuldigung!!
Kannst du das Makro entsprechend überarbeiten?
Gruss
Fred
AW: kopieren und zuordnen
28.09.2022 07:21:35
GerdL
Moin Fred!
Ohne A und ohne B in der Spalte H stehen bis zu drei Zeilen obendrüber.
Sind die beiden Bereiche mit A bzw. B jeweils in die oberste Zeile mit dem selben Teamnamen in der Spalte B zu kopieren?
Gruß Gerd
AW: kopieren und zuordnen
28.09.2022 10:58:21
Fred
Hallo Gerd,
ja, die beiden Bereiche mit A bzw. B sind jeweils in die obersten Zeilen mit dem selben Teamnamen (in der Spalte B) zu kopieren.
Ich habe das "händisch" als Beispiel angefügt (Wunschergebnis)
https://www.herber.de/bbs/user/155417.xlsb
Gruss
Fred
Anzeige
AW: kopieren und zuordnen
28.09.2022 12:24:47
Fred
Hallo Gerd,
wäre das ein Ansatz?
Schleife sucht in Spalte "H" nach A oder B und kopiert bei Treffer den Bereich "B:O"
wenn A dann "suche gleichen Teamnamen in Spalte B, in denen (in Spalte H) nicht A oder B steht" und füge ein (Spalte P)
wenn B dann "suche gleichen Teamnamen in Spalte B, in denen (in Spalte H) nicht A oder B steht" und füge ein (Spalte AD)
Beispiel mit Wunschergebnis
https://www.herber.de/bbs/user/155422.xlsb
Gruss
Fred
AW: kopieren und zuordnen
29.09.2022 18:12:39
Yal
Hallo Fred,
ja genau diese Vorgehensweise. Du bräuchtest nur eine temporäre Hilfspalte die den Inhalt der Spalte B und H zusammenfügt, um die "Suche" machen zu können, denn Excel kann nicht zwei Zellen gleichzeitig suchen.
Alternativ: man geht über eine Speicherung der Zeilen mit "A" und "B", z.B. über einen Dictionary.

Sub Unit()
'Dictionary erfordert den Verweis (Extras, Verweis...) auf "Microsoft Scripting Runtime"
Dim Dic As New Dictionary
Dim Zeile As Long
'Dictionary aufbauen: die Position der jeweiligen A und B wird gespeichert
For Zeile = 11 To Range("B11").End(xlDown).Row
If Cells(Zeile, "H") = "A" Or Cells(Zeile, "H") = "B" Then
Dic(Cells(Zeile, "B") & Cells(Zeile, "H")) = Zeile
End If
Next
'Durchlauf: wenn weder A noch B, A und B -falls vorhanden- abgeben (Link durch gespeicherte Zeilnummer)
For Zeile = 11 To Range("B11").End(xlDown).Row
If Not (Cells(Zeile, "H") = "A" Or Cells(Zeile, "H") = "B") Then
If Dic.Exists(Cells(Zeile, "B") & "A") Then
Cells(Zeile, "P").Resize(1, 14) = Cells(Dic(Cells(Zeile, "B") & "A"), "B").Resize(1, 14).Value
End If
If Dic.Exists(Cells(Zeile, "B") & "B") Then
Cells(Zeile, "AD").Resize(1, 14) = Cells(Dic(Cells(Zeile, "B") & "B"), "B").Resize(1, 14).Value
End If
End If
Next
End Sub
VG
Yal
Anzeige
Yal, Verneigung!
30.09.2022 05:57:00
Fred
Hallo Yal,
vorweg; Entschuldige bitte, das ich nicht schon gestern auf deine Lösung reagiert habe. Ich saß den ganzen Abend an der "Problemstellung",- unterstützt von meiner desillusionierten demenzkranken Mutter :-) Auch eine Hilfsspalte hatte ich im Repertoire. Um 23:30 schmiss ich dann das Handtuch. Als ich kurz darauf nochmals ins Forum schaute, war die Freude wieder da!!
Dein kommentiertes Makro ist echt der Hammer!
Viel Fachkenntnis,- großer Sport! Mit diesem "BeispielCode" fallen mir für die nächsten Tage weitere kreative Konstrukte ein.
Ich wünsche dir ein schönes Wochenende!
Gruss
Fred
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige