Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

alle Zellen in EINE kopieren

alle Zellen in EINE kopieren
05.08.2006 19:56:02
Boudon
Hallo ich lese per VBA eine exerne TXT Datei in ein Arbeitsblatt ein.
Das klappt soweit wunderbar.
In der so entstandenen Arbeitsmappe befinden sich alle Daten in Spalte A, verteilt auf mehrere Reihen.
ICh möchte dass automatisch ALLE Reihen in die erste ZELLE einer weiteren, neuen Arbeitsmappe kopiert werden.
ALLES soll also in EINER ZELLE stehen.
Leider sind alle meine Versuche dies er VBA zu lösen bisher kläglich gescheitert. Bitte um Hilfe! :-(

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

Betreff
Datum
Anwender
Anzeige
AW: alle Zellen in EINE kopieren
05.08.2006 19:59:57
Bugs
Hallo,
was meinst Du mit Reihen? Spalten oder Zeilen? Eine Beispielmappe wäre hilfreich.
Gruss Bugs
AW: alle Zellen in EINE kopieren
05.08.2006 21:54:28
ingUR
Hallo, Boudon,
bei einer überschaubaren Anzahl von Spalten, deren Zelleninalte je Zeile zu einem verkettem Datenstring zusammengefügt werden sollen wird die Zellenformel in der Zelle A1 des Tabellenblattes Tabelle1
=Tabelle1!A1 & " " & Tabelle1!B1 & " " & Tabelle1!C1 & " " & ....
wobei das Verkettungsstück & " " für ein zu wählendes Trennzeichen (hier: das Leerzeichen) gesetzt ist und auch entfallen kann.
Die Fomel über die darunterliegenden Zeilen A2 bis A[maxZeile] kopiert, liefer die gewünschten String fur einen Datensatz.
Eine Makroprozedur könnte als Basisversion der Bearbeitung so aussehen:

Sub VerketteSpalten()
Dim ws As Worksheet, strData As String
Dim rng As Range, rngQ As Range, maxc As Integer
On Error Resume Next
Set ws = Worksheets("DataStrings")
If ws Is Nothing Then
Set ws = Worksheets.Add(after:=Worksheets(1))
ws.Name = "DataStrings"
End If
ws.Cells.Clear
Range("A1").Select
Set rngQ = Range(Cells(1, 1), _
Cells(ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, _
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column + 1))
maxc = rngQ.Columns.Count
For Each rng In rngQ
If rng.Row = prevr Then
strData = strData & " " & rng
'hier ggf. ein Trennzeichen statt eines Leerzeichen eingeben
Else
ws.Cells(rng.Row - 1, 1) = strData
strData = rng
prevr = rng.Row
End If
'ws.Cells(rng.Row, 1) = strData
Next
ws.Cells(prevr, 1) = strData
End Sub

Die Prozedur wird auf das aktive Tabellenblatt bezogen, dessen Datenzellen einer Zeile zu einer Textkette zusammengesetzt werden.
Gruß,
Uwe
Anzeige
AW: alle Zellen in EINE kopieren
05.08.2006 21:55:55
Gerd
Hallo Boudon,
da hier unübersehbar ein paar kleine Kommunikationsschwierigkeiten bestehen,
lade doch mal noch eine Tabelle hoch, mit dem Ergebnis, das Du dir vorstellst.
Gruß
Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige