Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
996to1000
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

Texte zusammenfassen

Texte zusammenfassen
24.07.2008 10:44:25
Ingo
Ich habe folgendes Makro geschrieben (siehe unten). Dummerweise läuft es aber immer auf einen Speicherfehler heraus (Laufzeitfehler 7: Nicht genügend Speicher). Hab mir gedacht, es liegt an der Verkettenfunktion im VBA und die Anzahl der Zeichen, aber das ist nicht der Fall. Auch der Weg über die Daten in die Zwischenablage kopieren und von dort einfügen läuft auf ein Speicherfehler.
Aber vielleicht gibt es eine besser VBA Lösung schon am Anfang.
Spalte T enthält Zahlen. Makro sucht in der Spalte die Zahl 1 und kopiert alle nebenstehenden Zellen in eine Zelle bis die nächste 1 kommt.
Beispiel
1 aa
2 bb
3 cc
1 xx
2 yy
1 rrr
Also werden drei Zellen mit Inhalt erzeugt: "aabbcc" und "xxyy" und "rrr"
Kann mir dabei jemand helfen?
Hier mein voriges Makro:
Sub Langtext_verketten_u_HeaderFormat_2007_08()
Dim a As Integer
Dim i As Integer
Dim z As Integer '
i = 2
z = 2
Do While (Sheets("RawData").Cells(i, 1) 0) 'wieviel Zeilen in Rohdaten
z = z + 1
i = i + 1
Loop
Cells(1, 2) = "Lfd.Nr."
Cells(1, 22) = "Text"
i = 2
Do While i kleiner z
Cells(i, 2) = i
If Cells(i, 20) = 1 Then
Cells(i, 22) = Cells(i, 21)
a = i
Else
Cells(a, 22) = Cells(a, 22) & Cells(i, 21)
End If
i = i + 1
Loop

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Texte zusammenfassen
24.07.2008 10:59:00
ede
Hallo,
habe mal dein Problem versucht nachzustellen. bei mir funkt's so (bitte Zielspalte anpassen):

Sub test()
Dim z As Long  'aktuelle zeile
Dim z1 As Long 'Zielzeile
Dim s1 As Long 'ZielSpalte
Dim dummy As String
z1 = 1
s1 = 4
dummy = ""
For z = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(z, 1) = 1 Then
Cells(z1, s1) = dummy
z1 = z1 + 1
dummy = Cells(z, 2)
Else
dummy = dummy + Cells(z, 2)
End If
Next z
'letzten noch ausgeben
Cells(z1, s1) = dummy
End Sub


Gruss

AW: Texte zusammenfassen
24.07.2008 12:04:49
Ingo
Danke ... aber leider habe ich hier das selbe Problem.
Es funktioniert bei vielen Zeilen aber dann kommt bei bestimmten Zeilen wieder der Laufzeitfehler 7 :0(
Genau das selbe Verhalten und ich komme nicht dahinter warum. Die Anzahl der Zeichen ist weniger als in den vorigen Zeilen. Auch die Anzahl der Zeilen ist geringer.
Hier mal das Makro wie ich es angepasst habe, liegt darin der Fehler?

Sub test()
Dim z As Long  'aktuelle zeile
Dim z1 As Long 'Zielzeile
Dim s1 As Long 'ZielSpalte
Dim dummy As String
z1 = 22
s1 = 22
dummy = ""
For z = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(z, 20) = 1 Then
Cells(z, s1) = dummy
z1 = z1 + 1
dummy = Cells(z, 21)
Else
dummy = dummy + Cells(z, 21)
End If
Next z
'letzten noch ausgeben
Cells(z1, s1) = dummy
End Sub


Anzeige
AW: Texte zusammenfassen
24.07.2008 12:30:41
ede
sorry, kann ich leider nicht nachvollziehen.
kannst du das sheet mit nur den zwei spalte hier abstellen?
gruss

AW: Texte zusammenfassen
24.07.2008 12:34:35
ede
dein code ist falsch!!!
so ist er richtig:

Sub test()
Dim z As Long  'aktuelle zeile
Dim z1 As Long 'Zielzeile
Dim s1 As Long 'ZielSpalte
Dim dummy As String
z1 = 22
s1 = 22
dummy = ""
For z = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(z, 20) = 1 Then
Cells(z1, s1) = dummy
z1 = z1 + 1
dummy = Cells(z, 21)
Else
dummy = dummy + Cells(z, 21)
End If
Next z
'letzten noch ausgeben
Cells(z1, s1) = dummy
End Sub


Anzeige
AW: Texte zusammenfassen
28.07.2008 10:57:00
Ingo
Das Makro macht aber dann nicht ganz das wass es machen soll. Aber ist auch egal, auch wenn ich dein Makro genauso ausführe bekomme ich die beschriebene Fehlermeldung :0(

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige