Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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 Schleife zum Verketten von Texten

VBA Schleife zum Verketten von Texten
24.03.2021 13:20:59
Texten
Hallo liebe Forumsgemeinde!
Ich habe eine Exceltabelle, welche in den Zellen A1 bis A170 Texteinträge hat. Nun möchte ich mit einer Schleife alle Texteinträge von A1 bis zu einer festgelegten Variable (für eine Zeilennummer zwischen 1 und 170) verketten und später in einer TextBox ausgeben. Nach jedem Texteintrag jeder Zelle soll auch noch jeweils ein Zeilenumbruch Chr(10) kommen.
Leider kommen ich da nicht weiter. Hat jemand eine Idee dazu?
Vielen Dank vorab!!
LG Edis

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Schleife zum Verketten von Texten
24.03.2021 13:39:55
Texten
Hallo,
z.B. so:
Sub aaa()
Dim letzte As Long, v, DerText As String
letzte = 20
v = Range(Cells(1, 1), Cells(letzte, 1))
v = Application.Transpose(v)
DerText = Join(v, vbLf)
MsgBox DerText
End Sub

Gruß
Rudi

AW: VBA Schleife zum Verketten von Texten
24.03.2021 13:58:53
Texten
Hallo Rudi!
Funktioniert grundsätzlich super, vielen Dank!!
Wenn ich vor die Range den Verweis auf ein anderes Tabellenblatt setze kommt aber die Fehlermeldung "Anwendungs- oder objektdefinierter Fehler". Konkret sieht mein Code nun so aus:
Dim finden As Range
Dim letzte As Long, v, DerText As String
Set finden = Worksheets("Tabelle1").Range("A1:A200").Find(what:="Hallo")
letzte = finden.Row
v = Worksheets("Tabelle1").Range(Cells(1, 1), Cells(letzte, 1))
v = Application.Transpose(v)
DerText = Join(v, vbLf)
Worksheets("Tabelle2").TextBox3.Value = DerText
Die Texte sind in Tabelle1 und in Tabelle2 ist die TextBox, welche das Ergebnis liefern soll und auch der CommandButton, welcher den Code ausführen soll.
Weißt du woran es hier scheitert?
Danke und LG

Anzeige
Standardfehler, den wohl jeder machen muss
24.03.2021 14:03:49
Daniel
Das Tabellenblatt gehört auch vor die Cells.
Range, Cells, Columns und Rows ohne Tabellenblatt davor bezieht sich auf das Aktive Tabellenblatt (Code in einem allgemeinen Modul), oder auf das Blatt des Moduls (Code in einem Tabellenblattmodul)
Das gilt immer, auch wenn irgendwo vorher in der Zeile schon mal ein Tabellenblatt steht!
Gruß Daniel

dann so:
24.03.2021 14:46:27
Rudi

Sub aaa()
Dim finden As Range
Dim v, DerText As String
With Worksheets("Tabelle1")
Set finden = .Range("A1:A200").Find(what:="Hallo")
v = .Range(.Cells(1, 1), finden.Offset(-1))
End With
v = Application.Transpose(v)
DerText = Join(v, vbLf)
Worksheets("Tabelle2").TextBox1.Value = DerText
End Sub

Gruß
Rudi

Anzeige
AW: VBA Schleife zum Verketten von Texten
24.03.2021 13:42:17
Texten
Halllo Edis,
das geht so:
Sub Texte_Verketten()
Dim lngZeile As Long
Dim lngEndeZeile As Long
Dim strAusgabeText As String
lngEndeZeile = 17
For lngZeile = 1 To lngEndeZeile
strAusgabeText = strAusgabeText & Cells(lngZeile, 1) & vbLf
Next
strAusgabeText = Left(strAusgabeText, Len(strAusgabeText) - 1)
MsgBox strAusgabeText
End Sub

Gruß Worti

AW: VBA Schleife zum Verketten von Texten
24.03.2021 14:03:58
Texten
Danke Worti!
Mit diesem Code hat es nun geklappt!!
LG

Warum nicht TEXTVERKETTEN (falls vorhanden) ...
24.03.2021 14:05:15
Luc:-?
…oder UDF VJoin (auch in SubProzeduren einsetzbar), Edis‽
Man muss das Fahrrad nicht immer wieder neu erfinden.
Gruß, Luc :-?

Anzeige
Weils das in Excel 2016 noch nicht gibt.
24.03.2021 14:08:26
Daniel
Jetzt wo die Versionsauswahl vollständig ist, kann man sie auch ernst nehmen.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige