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

Daten zusammenfügen mit Bedingungen

Daten zusammenfügen mit Bedingungen
24.03.2019 21:53:38
Jun
Hallo,
ich habe eine Aufgabe, und zwar, die Daten in Spalte A und B mit allen Möglichkeiten zusammenfügen und in Spalte C unter einer Reihenfolge darstellen. Z.B. Daten in Spalte A: a, b, c; Daten in Spalte B: 1, 2. Die Zielergebnisse in Spalte C sollte wie folgt darstellen: a1, a2, b1, b2, c1, c2. Kann jemand mir helfen, das durch VBA zu schaffen? Vielen Dank!
VG
Jun

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Am einfachsten ginge das wohl m. 2 VBA-basierten …
24.03.2019 23:27:17
Luc:-?
…UDFs (nutzerdefinierten Fktt), Jun,
die du sowohl in einer pluralen MatrixFml als auch einer SubProzedur anwenden könntest.
ZellFml in C1:C6: {=MTRANS(VSplit(VJoin(A1:A3&MTRANS(B1:B2);;-2)))}
Beide UDFs sind in dieser BspMappe zu finden: https://www.herber.de/bbs/user/99024.xlsm
Anderenfalls müsstest du darauf achten, dass ein ErgebnisVektor ausreichender Länge dimensioniert und dann sein Index in Abhän­gig­keit von den Indizes der beiden QuellBereiche gebildet wird.
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Am einfachsten ginge das wohl m. 2 VBA-basierten …
30.03.2019 09:39:28
Jun
vielen Dank, habe es geschafft. : )
AW: Am einfachsten ginge das wohl m. 2 VBA-basierten …
30.03.2019 09:39:30
Jun
vielen Dank, habe es geschafft. : )
Gratuliere! ;-] owT
30.03.2019 15:48:19
Luc:-?
:-?
AW: Daten zusammenfügen mit Bedingungen
25.03.2019 00:32:02
Daniel
Hi
im Prinzip brauchst du dafür kein VBA oder zusätzliche benutzterdefinierte Funktionen (UDFs)
es reicht folgende Formel in C1, welche du soweit wie benötigt nach unten ziehst:
=INDEX(A:A;GANZZAHL((ZEILE(A1)-1)/ANZAHL2(B:B))+1)&INDEX(B:B;REST(ZEILE(A1)-1;ANZAHL2(B:B))+1)
wenns per Makro sein soll, wäre es am einfachsten, diese Formel per Makro in die Zellen einzutragen:
Sub test1()
With Cells(1, 3).Resize(WorksheetFunction.CountA(Columns(1)) * WorksheetFunction.CountA(Columns( _
2)), 1)
.FormulaR1C1 = "=INDEX(C1,INT((ROW()-1)/COUNTA(C2))+1)&INDEX(C2,MOD(ROW()-1,COUNTA(C2))+1)"
.Formula = .Value
End With
End Sub
eine reine VBA-Lösung, dh ohne Verwendung von Excelformeln, würde dann so aussehen:
Sub test2()
Dim A, B, C
Dim zA As Long, zB As Long
A = Range(Cells(1, 1), Cells(1, 1).End(xlDown)).Value
B = Range(Cells(1, 2), Cells(1, 2).End(xlDown)).Value
ReDim C(1 To UBound(A, 1) * UBound(B, 1), 1 To 1)
For zA = 1 To UBound(A, 1)
For zB = 1 To UBound(B)
C((zA - 1) * UBound(A, 1) + zB, 1) = A(zA, 1) & B(zB, 1)
Next
Next
Cells(1, 3).Resize(UBound(C, 1), 1) = C
End Sub
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige