Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

verketten von allen zeilen mit id x

verketten von allen zeilen mit id x
15.05.2007 21:28:00
allen
Hallo liebes Forum,

Die Datei https://www.herber.de/bbs/user/42504.xls wurde aus Datenschutzgründen gelöscht


ich habe in Tabelle1 in Spalte B Vorlesungen aufgelistet. In Spalte A habe ich die Nummer des Moduls zu dem die Vorlesung gehört. (Mehrere Vorlesungen werden zu einem Modul zusammengefasst.)
In Tabelle2 habe ich in Spalte B die Bezeichnungen der Module,
in Spalte A habe ich die Nummer des Moduls.
Ich würde sehr gerne wissen wie ich in Tabelle2 in Spalte C jeweils alle Vorlesungen aus Tabelle1, welche die selbe Modulnummer haben wie das Modul selbst, innerhalb einer Zelle ausgeben kann,
(jedoch mit einem Zeilenumbruch getrennt und als Aufzählungszeichen ein "Minus").
Die Daten der Zelle sollen später aus Word per Serienbrieffunktion importiert werden.
Ein Beispiel habe ich oberhalb eingefügt.
Ich würde mich sehr freuen wenn Ihr mir irgendwie weiterhelfen könnt.
Grüße,
Martin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verketten von allen zeilen mit id x
15.05.2007 22:08:07
allen
hi Martin, bzw. so (weil mit "-")...
Tabelle2
 ABCD
1modul-nummermodulalle vorlesungen dieses moduls2
21Mikroöknomie und Wettbewerb- Nachfrage und Produktion 
32Makroökonomie und Geldwesen- Wachstum, Beschäftigung, Preisniveau 
43Volkswirtschaftslehre III- Geld, Währung, Inflation 
54Wirtschaftsrecht I  
65Wirtschaftsrecht II  
76Wirtschaftsrecht III  
87Mathematik / Statistik  
98Datenverarbeitung  
109BWL I: Grundlagen und Betriebliche Querschnittsfunktionen  
1110BWL II: Betriebliche Haupt-Funktionen  
1211BWL III: Rechnungswesen  
1312BWL IV: Unternehmensbesteuerung  
1413BWL V: Vertiefung  
Formeln der Tabelle
C2 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A1)); SPALTE(B1))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A1)); SPALTE(B1)))}
C3 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A2)); SPALTE(B2))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A2)); SPALTE(B2)))}
C4 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A3)); SPALTE(B3))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A3)); SPALTE(B3)))}
C5 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A4)); SPALTE(B4))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A4)); SPALTE(B4)))}
C6 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A5)); SPALTE(B5))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A5)); SPALTE(B5)))}
C7 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A6)); SPALTE(B6))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A6)); SPALTE(B6)))}
C8 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A7)); SPALTE(B7))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A7)); SPALTE(B7)))}
C9 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A8)); SPALTE(B8))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A8)); SPALTE(B8)))}
C10 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A9)); SPALTE(B9))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A9)); SPALTE(B9)))}
C11 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A10)); SPALTE(B10))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A10)); SPALTE(B10)))}
C12 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A11)); SPALTE(B11))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A11)); SPALTE(B11)))}
C13 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A12)); SPALTE(B12))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A12)); SPALTE(B12)))}
C14 : {=WENN(ISTFEHLER(INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A13)); SPALTE(B13))); "";"- "&INDEX(Tabelle1!$A$1:$B$1000;KKLEINSTE(WENN(Tabelle1!$A$1:$A$1000=$D$1;ZEILE($1:$1000)); ZEILE(A13)); SPALTE(B13)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
cu jörg
ein feedback wär ganz reizend

Anzeige
AW: verketten von allen zeilen mit id x
15.05.2007 22:08:00
allen
Hallo Martin,
eine Lösung mit Hilfsspalten:
https://www.herber.de/bbs/user/42506.xls
Mit VBA ist es bestimmt besser machbar, deshalb lasse ich mal noch offen.
MfG Christian

AW: verketten von allen zeilen mit id x
16.05.2007 07:34:56
allen
Hi Christian,
vielen Dank für Deine Lösung ohne VBA!
Ich stand bei diesem Problem echt wie der Ochs vorm Berg. Ich habe auch eine Zeit lang gegoogelt, anscheinend mit den falschen Ausdrücken. Meine google-suche war:
("1:n" OR "1 zu n" OR "n:1" OR "n zu 1") excel
Einen schönen Tag, Martin

AW: verketten von allen zeilen mit id x
15.05.2007 22:11:00
allen
Hallo, Martin,
als VBA-Modul:
Sub VLModulzuordnung() Dim ws1 As Worksheet, ws2 As Worksheet Dim maxR1 As Long, maxR2 As Long, r1 As Long, r2 As Long Dim strM As String, mNr As Long, refNr As Long Set ws1 = Worksheets("Tabelle1") Set ws2 = Worksheets("Tabelle2") maxR1 = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row maxR2 = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row For r2 = 2 To maxR2 strM = "" refNr = ws2.Cells(r2, 1) For r1 = 2 To maxR1 If ws1.Cells(r1, 1) = refNr Then If Len(strM) > 0 Then strM = strM & vbLf strM = strM & "- " & ws1.Cells(r1, 2) End If Next r1 ws2.Cells(r2, 3) = strM Next r2 Set ws1 = Nothing Set ws2 = Nothing End Sub


Dieses Modul ist als Standardmodul anzulegen und kann als Makro gestartet werden.
Gruß,
Uwe

Anzeige
AW: verketten von allen zeilen mit id x
16.05.2007 07:57:49
allen
Hallo Uwe,
vielen Dank für Deine Arbeit.
Da ich bisher fast nichts mit VBA zu tun hatte, wusste ich zuerst gar nicht genau wie ich das Modul anlege und einbinde.
Ich habe es ausprobiert und es hat sofort geklappt
(alt + f11 für vba-modus,
den grünen "play"-pfeil gedrückt
"erstellen"
copy und paste von deinem code,
zurück in die normal excel-übersicht
alt + f8
das neue makro auswählen und
ausführen klicken)
Danke, danke, danke!
Grüße,
Martin

AW: Freud mich zu lesen, dass es geklappt hat, ...
16.05.2007 09:35:00
ingUR
Martin,
und gleich nebenbei noch der Einstieg in VBA geglückt ist.
Ich nehme an, das der Code von der Befehlssprache in die Logik ohne weitere Erläuterung übersetzbar ist, an sonsten einfach einmal die schrittweise Ausführung anwählen und über die Möglichkeiten des Debuggens und dort auch mit Hilfe von "Überwachung hinzufügen ..." die Entwicklung verfolgen.
Die Set-Zuweisung dient dabei nur zum zetzen eines anderen Namens für ein Objekt, in diesem Fall z.B. dem Objekt Tabellenblatt in der aktuellen Arbeitsmappe "Tabelle1" bzw. "Tabelle2", so dass im weiteren nur noch die Alias-Bezeichnung bei der Referenzierung angegeben werden brauchen.
Da Ermitteln der letzten Zeilen mit Inhalt in den Spalten A der Objekte ws1 und ws2 (maxR1 und maxR2) gehört in dieser oder ähnlicher Form zum Standard.
Die doppelte For-Schleife ist nicht gerade das optimale an Sparsamkeit an Ausführungsschritten, da für jeden Eintrag des Objekts ws2 immer die gesammte Liste des Objekts ws1 durchlaufen wird (innerere For-Schleife) um nach der Referenznummer zu suchen.
Das Verketten von Strings zur Ausgabezeichenkette strM erfordert die Untersuchung, ob ein Zeilenvorschub (vbLF) einzufügen ist, nähmlich immer dann, wenn bereits etwas in strM eingeschrieben wirde, wobei zu bemerken ist, dass für jeden neunen Durchlauf der äußeren Schleiche, der Inhalt der Zeichenkette geleert wird (Zuweisung strM="").
Gruß,
Uwe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige