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

VBA Text aus Zelle laut Anzahl kopieren

VBA Text aus Zelle laut Anzahl kopieren
22.04.2018 19:45:21
Simone
Hallöchen Zusammen,
ich bin ganz neu hier und habe ein Problem womit ich ohne eure Hilfe nicht weiter komme.
In einer Tabelle steht in den Zellen N12:N16 jeweils eine Anzahl
In den Zellen O12:O16 steht ein Text. Dieser soll nun laut der Zahl rechts entsprechend oft kopiert werden.
Das Ergebnis sollte dann in Spalte B ab Zeile 13 eingetragen werden.
Wisst ihr wie genau ich das meine?
Vielleicht ein Beispiel:
Spalte N
2
3
Spalte O
F1
F2
Ergebnis
Spalte B (ab Zeile 12)
F1
F1
F2
F2
F2
Vielen lieben Dank im Voraus!
Herzliche Grüße, Simone

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Text aus Zelle laut Anzahl kopieren
22.04.2018 20:14:10
Oberschlumpf
Hi Simone,
kannst du uns per Upload bitte eine Excel-Bsp-Datei senden, die, wie von dir beschrieben, einige Bsp-Daten enthält?
Zumindest ich verstehe noch nicht den Zusammenhang deiner Bsp-Spalten.
Ciao
Thorsten
AW: VBA Text aus Zelle laut Anzahl kopieren
22.04.2018 20:34:04
Sepp
Hallo Simone,
Modul Modul1
Option Explicit 
 
Sub createList() 
Dim varInput As Variant, varOutput() As Variant 
Dim lngIndex As Long, lngN As Long, lngC As Long, i As Long 
 
With Sheets("Tabelle1") 'Tabellenname - Anpassen! 
  varInput = .Range("N12:O16") 
  lngC = Application.Sum(.Range("N12:N16")) 
  Redim varOutput(1 To lngC) 
  For lngIndex = 1 To Ubound(varInput, 1) 
    If IsNumeric(varInput(lngIndex, 1)) Then 
      If varInput(lngIndex, 1) > 0 Then 
        For lngN = 1 To varInput(lngIndex, 1) 
          i = i + 1 
          varOutput(i) = varInput(lngIndex, 2) 
        Next 
      End If 
    End If 
  Next 
  .Range("B12").Resize(lngC, 1) = Application.Transpose(varOutput) 
End With 
 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: VBA Text aus Zelle laut Anzahl kopieren
22.04.2018 21:15:06
Simone
Vielen lieben Dank Sepp!! Genau das was ich wollte!
Jetzt kann ich beruhigt schlafen :)
Wünsche euch allen einen schönen Abend und einen guten Start in die neue Woche
LG, Simone
Wenn dir also VBA recht ist und du Sepps ...
23.04.2018 02:58:48
Luc:-?
…Pgm auch an deine Bedingungen anpassen kannst, Simone,
sollte das ja reichen. Wenn nicht und VBA recht ist, könntest du aber auch mit universellen UDFs in einer pluralen MatrixFml (über alle Zellen der jeweiligen Spalte) arbeiten. Da musst du dann auch nichts in deren Pgmm anpassen, musst nur die richtigen Bereiche angeben.
Für deine BspDatei lauteten die beiden MatrixFmln dann so:
B13:B24: {=MTRANS(SplitVx(MxJoin(MTRANS(SplitVx(GLÄTTEN(WIEDERHOLEN(" "&O13:O18;$N13:$N18));;;MAX($N13:$N18))))))}
(Und für die Texte in passender Spalte wie folgt)
{=MTRANS(SplitVx(MxJoin(MTRANS(SplitVx(GLÄTTEN(WIEDERHOLEN(" "&P13:P18;$N13:$N18));;;MAX($N13:$N18))))))}
ArchivLinks:
SplitVx (Vs1.6) https://www.herber.de/bbs/user/84157.xls (DownLoad BspDatei)
MxJoin (Vs1.1) https://www.herber.de/forum/archiv/1364to1368/1366681_Verketten_anhand_von_Kriterien.html#1366803

Morrn, Luc :-?
Anzeige
AW: Wenn dir also VBA recht ist und du Sepps ...
23.04.2018 07:46:36
Simone
Vielen lieben Dank für deine Hilfe.
Wollte die Formeln gerade testen da sich diese Variante auch ganz interessant anhört.
Leider klappt es bei mir nicht. Was mach ich denn falsch?
Hast du meine Bsp. Datei gesehen?
Müde Grüße 
Hattest du die verlinkten UDFs denn auch ...
23.04.2018 11:56:02
Luc:-?
…in ein allgemeines Modul des VBA-Projekts deiner Mappe einkopiert, Simone?
Anderenfalls kann die Fml nämlich nicht fktionieren, weil Xl die UDFs dann nicht kennt! Dabei auch evtl Hinweise auf benötigte Enumerationen u.ä. beachten! (Bessere Alternative: UDFs in einem AddIn [….xlam] sammeln, dieses in Xl einbinden und Tabellen nur als Werte ohne Fmln weitergeben.)
Da du (Sepps r)eine VBA-Lösung nicht ausgeschlossen hattest, nahm ich an, du weißt das.
Falls es dann immer noch nicht fktionieren sollte, könnte es daran liegen, dass in der UDF SplitVx noch ein kleiner Fehler ist, der aber meistens nicht wirksam wird, oder du noch etwas vergessen hast.
🙈 🙉 🙊 🐵 Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
Ganz ohne VBA mit einfachen Formeln
23.04.2018 07:46:38
Daniel
Hi
1. in die Zelle M12 kommt der Wert 12 (die erste Zeile des Ergebniszellbereichs)
2. in die Zelle M13 bis M17 (also eine Zeile weiter als du Daten hast) kommt die Formel: =M12+N12
3. in die Zelle B12 kommt die Formel

=Wenn(Zeile()>=M17;"";SVerweis(Zeile();M$12:O$16;3;wahr)

Diese Formel ziehst du dann soweit nach unten wie benötigt (Zelle M17-1)
Gruß Daniel
AW: VBA Text aus Zelle laut Anzahl kopieren
23.04.2018 08:42:27
snb

Sub M_snb()
sn = Application.Transpose(Split(Join([transpose(if(N2:N100="","",rept(O2:O100 & ",",N2:N100)) _
)], ""), ","))
Cells(13, 2).Resize(UBound(sn)) = sn
End Sub

Anzeige

371 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige