Anzeige
Archiv - Navigation
1236to1240
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

Zellinhalte "Ende abschneiden"

Zellinhalte "Ende abschneiden"
Stef@n
Hallo Excel-Freunde,
ich bin auf der Suche nach einer Möglichkeit, per VBA in einer Spalte die Zellen
mit mehr als neunhundert Zeichen in einer Zelle entsprechend "abzukürzen"
Also: wenn die Zelle mehr als neuenhundert (länge größer 900) Stellen hat,
alle darüber hinausgehenden Stellen "radikal" abschneiden.
Grund:
Ich versuche in diesen Zellen mit suchen-ersetzen bestimmte Zeichen zu löschen,
jedoch verweigert Excel diese Aktion mit dem Hinweis: Formel zu lang.
Nach meinen Recherchen liegt das daran, dass das suchen-ersetzen bei Zellen
mit mehr als 911 Zeichen nicht mehr funktioniert.
Hat jemand einen Tip ?
Gruß
Stef@n

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
=LINKS(A1;900) o.T
10.11.2011 18:43:46
Andre´
AW: =LINKS(A1;900) o.T
10.11.2011 18:46:53
Stef@n
Hallo Andrè
ja, so funktioniert es per Formel.
Ich möchte aber ein VBA-Code, der in einer Spalte alle Längen prüft.
Die meisten Zellen sind kleiner - bei mehr als 200.000 Zeilen
Noch ne Idee per VBA ?
Gruß
Stef@n
200.000 Zeilen bei XL 2003? o.w.T.
10.11.2011 18:48:57
Reinhard

hab natürlich Excel 2007 ....
10.11.2011 18:59:44
Stef@n
Ups Reinhard
hab natürlich Excel 2007
zu schnell geklickt
Gruß
Stef@n
AW: hab natürlich Excel 2007 ....
10.11.2011 19:28:21
Andre´
Hallo Stefan,
probiere mal folgendes, wird aber bei 200000 Zellen etwas dauer.
Sub Test()
Dim sAddress As String
Dim I As Long
sAddress = ActiveCell.Address
sAddress = Mid(sAddress, InStr(sAddress, "$") + 1, InStr(2, sAddress, "$") - 2)
'For I = ActiveCell.Row To Range(sAddress & 1048576).End(xlUp).Row 'Excel 2007
For I = ActiveCell.Row To Range(sAddress & 65536).End(xlUp).Row
Range(sAddress & I) = Left(Range(sAddress & I), 900)
Next I
End Sub

MFG Andre
Anzeige
werde ich morgen testen o.w.t.
10.11.2011 20:09:00
Stef@n
ohne Makro
11.11.2011 07:26:08
Ass
Hallo Stefan,
Spalte markieren
Menü Daten
Text in Spalten
feste Breite
-weiter
911 separieren
-weiter
2. bis letzte Spalte markieren
Spalten nicht importieren
-Fertigstellen
Gruß
Rudi
perfekt !
14.11.2011 10:04:14
Stef@n
Hallo Andre
funktioniert perfekt !
Habe nur noch das screenupdating auschaltet, damit ich kein Augenflimmern bekomme ;)
Dank Dir für Deine Unterstützung
Stef@n
AW: Zellinhalte "Ende abschneiden"
11.11.2011 07:56:31
Reinhard
Hallo Stefan,
wenn A die Spalte ist:
Sub nn()
Dim Zei As Long
Application.ScreenUpdating = False
Columns(1).Insert
Zei = Cells(Rows.Count, "B").End(xlUp).Row
Range("A1:A" & Zei).Formula = "=LEFT(B1,900)"
Range("A1:A" & Zei).Value = Range("A1:A" & Zei).Value
Columns(2).Delete
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
Anzeige
AW: Zellinhalte "Ende abschneiden"
14.11.2011 10:06:10
Stef@n
Danke Reinhard :)
Besten Gruß
Stef@n
noch einer
14.11.2011 10:25:58
Rudi
Hallo,
Sub xxx()
Dim arrTmp, i As Long
arrTmp = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
For i = 1 To UBound(arrTmp)
arrTmp(i, 1) = Left(arrTmp(i, 1), 900)
Next
Cells(1, 1).Resize(UBound(arrTmp)) = arrTmp
End Sub

Gruß
Rudi
Thx
14.11.2011 13:22:29
Stef@n
Rudi
auf mal wieder eine perfekte Lösung von Dir
Danke sehr und Gruß
Stef@n

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige