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

Lange Zeichenkette aufteilen

Lange Zeichenkette aufteilen
12.06.2018 16:42:29
Haiko
Hallo liebe Leute,
Ich bin neu in VBA und versuche mich an folgendem Problem:
Ich habe eine lange Zahl in Zelle D4, die ich als Text formatiert habe. Davon möchte ich jeweils immer 7 Zeichen als eigenen Wert in die Zelle darunter packen und dann entsprechend die nächsten 7 Zeichen.
Beispiel:
D4 = 35969837255603784563648
D5 = 3596983
D6 = 7255603
Ich habe es folgendermaßen probiert, was leider nicht funktioniert:
Dim kette As String
With Sheets("Input")
kette = .Range("D1")
For h = 1 To kette.Length
If kette "" Then
.Range("D" & h).Value = Left(kette, 5)
kette = Left(kette, 5)
End If
Next h
End With
Wäre um Hilfe sehr dankbar.
Gruß,
Haiko

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lange Zeichenkette aufteilen
12.06.2018 16:53:06
Hajo_Zi
mache es mit Formel.

Tabelle2
 ABCDEF
27'3596983725560378456364835969837255603784563648 

verwendete Formeln
Zelle Formel Bereich N/A
B27:F27=TEIL($A27;(SPALTE()-2)*7+1;7)  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.14 einschl. 64 Bit



Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Lange Zeichenkette aufteilen
12.06.2018 17:14:51
UweD
Hallo
so?
Sub dgdgfg()
    Dim Kette As String, Spalte As Integer
    Dim EZ As Integer, iStep As Integer, h As Integer, Anzahl As Integer
    
    iStep = 7 'Schrittweite 
    EZ = 4 'erste Zeile 
    Spalte = 4 ' aus D 
    
    With Sheets("Input")
    
        Kette = .Cells(EZ, Spalte)
        
        If Kette <> "" Then
            Anzahl = Application.RoundUp((Len(Kette) / iStep), 0)
            For h = 1 To Anzahl
                .Cells(EZ, Spalte).Offset(h - 1) = Left(Kette, iStep)
                Kette = Mid(Kette, iStep + 1)
          Next h
        End If
    End With
End Sub

LG UweD
Anzeige
AW: Lange Zeichenkette aufteilen
13.06.2018 09:43:20
Haiko
Klappt super, vielen Dank! Offset kannte ich noch nicht mal...Schande über mich
Danke für die Rückmeldung owT
13.06.2018 12:53:26
UweD
Kommt darauf an, wie bei TextZahlLängen<> einem …
12.06.2018 20:32:54
Luc:-?
…Vielfachen von 7 verfahren wdn soll, Haiko:
 ABCDE
1
123456789012345678901   12345671234567A2:A4:=--TEIL(A$1;(ZEILE()-2)*7+1;7)89012348901234B2:B4: {=VSplit(A1;7;1;1)}56789015678901   123456789012345678901234   12345671234567A6:A9:=--TEIL(A$5;(ZEILE()-6)*7+1;7)89012348901234B6:B9: {=VSplit(A5;7;1;1)}56789015678901   234234   123456789012345678901234   123123A11:A14:=--TEIL(A$10;REST(LÄNGE(A$10);7)*45678904567890            (ZEILE()-11>0)+7*MAX(0;ZEILE()-12)+1;(ZEILE()12345671234567            -11=0)*REST(LÄNGE(A$10);7)+7*(ZEILE()-11>0))89012348901234B11:B14: {=VSplit(A10;-7;1;1)}
2
3
4
5
6
7
8
9
10
11
12
13
14
Die blauen Zahlen und Fmln stellen zum Vgl eine Lösung dar, die eine VBA-basierte UDF (VSplit) benutzt, aber in der hier verwendeten Version 1.6 noch nicht publiziert wurde (noch in Arbeit).
Gruß, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige