Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1384to1388
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

Tabellenzeilen automatisch einfüg. + Wertezuordnun

Tabellenzeilen automatisch einfüg. + Wertezuordnun
17.10.2014 23:03:04
Joerschi
Hallo liebes Forum,
ich suche eine Lösung für folgendes Problem (bisschen krumme Skizze + Beispieldatei unten):
Ausgangssituation:
In einer Tabelle 1 sind (in Musterdatei 510) Zeilen mit verschiedenen Kombinationen vorgegeben (für Positionen 1 bis 9).
Außerdem gibt es nebenstehend eine Tabelle mit (in Musterdatei 81) verschiedenen "alternativen" Kombinationen für die Positionen 10-13.
Was soll passieren?
Es soll zu jeder der Kombinationen aus Tabelle 1 jede der Alternativen aus Tabelle 2 hintenan auf den Positionen 10-13 ergänzt werden (also in Beispieltabelle 510 Reihen aus Tab.1 x 81 Alternativen aus Tab. 2 ergibt 41310 "neue" Gesamtkombinationen, also insgesamt Zeilen.
Dazu sollen (per Formel?)
a) unter jede der Kombis aus Ausgangstabelle 1 je 80 Zeilen eingefügt werden und
b) die Einzelkombination in die 80 Zeilen "runterkopiert" und
c) hinter jeder der runterkopierten Kombinationen eine der Alternativen (von 1-81) ergänzt werden
(Achtung: hinter jeder ersten Kombi könnte direkt die Alternative 1 hintenan kopiert werden, daher sollen auch nur 80 statt 81 Zeilen eingefügt werden).
Händisch erscheint mir das zu aufwändig :-(
Hätte jemand eine Idee für einen Ansatz?
Viele Grüße
Joerschi
Skizze: Userbild
Beispieldatei: https://www.herber.de/bbs/user/93221.xlsx

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
jede Zeile x mal einfügen
18.10.2014 12:36:01
Christian
hallo Joerschi,
so zB:

Option Explicit
Sub TestIt()
Dim i As Long, j As Long
Dim k As Long, n As Long
Dim lngLR As Long
Dim vntRngAlt
Dim vntLine
Dim vntRes(41309, 12)
With Sheets("Herber_Frage")
lngLR = .Cells(.Rows.Count, 2).End(xlUp).Row
vntRngAlt = .Cells(3, 17).Resize(81, 4).Value
For i = 3 To lngLR
vntLine = .Cells(i, 2).Resize(, 9)
For n = 1 To 81
For j = 0 To 8
vntRes(k, j) = vntLine(1, j + 1)
Next
For j = 9 To 12
vntRes(k, j) = vntRngAlt(n, j - 8)
Next
k = k + 1
Next
Next
.Cells(3, 2).Resize(41310, 13) = vntRes
End With
End Sub
Gruß Christian

Anzeige
AW: jede Zeile x mal einfügen
19.10.2014 09:09:46
Joerschi
Hi Christian,
grad getestet - funktioniert super.
Herzlichen Dank.
Werd versuchen mich mal in die Proggi einzuarbeiten. Da kann ich auch gleich ein wenig mit Deinen Zeilen rumspielen, z. B. werde ich damit anfangen, den kopierten Reihen die ursprüngliche Nummer (1 bis 510) zuzuweisen oder sowas.
Nochmals Danke und LG
Joerschi

AW: Tabellenzeilen automatisch einfüg. + Wertezuordnun
18.10.2014 14:10:17
Daniel
Hi
um Zellbereiche zu vervielfältigen, kann man auch Copy-Paste verwenden, wenn man den Einfügebereich um den entsprechenden Faktor vergrössert.
Sub test1()
Dim AnzZeilen1 As Long
Dim AnzZeilen2 As Long
AnzZeilen1 = Cells(3, 1).End(xlDown).Row - 2
AnzZeilen2 = Cells(3, 16).End(xlDown).Row - 2
Cells(3, 1).Resize(AnzZeilen1, 10).Copy
With Cells(3, 1).Resize(AnzZeilen1 * AnzZeilen2, 10)
.PasteSpecial xlPasteAll
.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlNo
End With
Cells(3, 17).Resize(AnzZeilen2, 4).Copy
Cells(3, 11).Resize(AnzZeilen2 * AnzZeilen1, 4).PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
mir mir einen Sortieren zwischen drin passt dann auch die Wertezuordung.
Gruß Daniel

Anzeige
AW: Tabellenzeilen automatisch einfüg. + Wertezuordnun
19.10.2014 09:11:28
Joerschi
Moin Daniel,
Dank Dir für den ergänzenden Hinweis bzw. die Alternative.
Wie schon bei Christian geschrieben: werd mich da mal reinarbeiten als VBA-Neuling.
Schönen Restsonntag und LG
Joerschi

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige