Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: auch bei Zahlen Leerzeichen anhängen (Makro)

auch bei Zahlen Leerzeichen anhängen (Makro)
12.05.2006 15:54:27
Andre´
Hallo alle zusammen
ich möchte gern in Spalte B Leerzeichen anhängen wenn z.B. nur 3 Zeichen enthalten sind dann werden noch 2 Leerzeichen angehängt. Mit folgenden Code funktioniert es wenn kein Zahlenformat vorkommt.
Sub LeerzeicheAuffüllen() '5 Zeichen in Spalte B For j = 1 To [B65536].End(xlUp).Row For i = Len(Cells(j, 2)) + 1 To 5 Cells(j, 2) = Cells(j, 2) & " " Next i Next j End Sub
Wenn aber Zahlen stehen z.B. 20 dann werden keine 3 Leerzeichen angehängt.
Kann mir jemand helfen den Code umzustricken, damit auch bei Zahlen die Leerzeichen angehängt werden.
Danke im voraus
Andre
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: auch bei Zahlen Leerzeichen anhängen (Makro)
12.05.2006 16:26:39
firmus
Hallo Andre,
ohne Makro würde es so aussehen:
Annahme: Zelle B5="aa", das Ergebnis(die Formel) steht daneben in Zelle C5
Ergebnis: in Zelle C5 steht dann "aaxxx"
Funktioniert auch mit Zahlen.
=CONCATENATE(B5,REPT("x",5-LEN(B5)))
füllzeichen im Test: "x", durch " " ersetzen.
concatenate = verketten
rept =repeat = wiederhole?
len = length = Länge
Gruss,
Firmus
nützlich?
Anzeige
AW: auch bei Zahlen Leerzeichen anhängen (Makro)
12.05.2006 16:40:50
Andre´
Hallo firmus,
danke für deine Meldung.
Ich habe die Spalte B als Text formatiert, und dann das Makro laufen lassen, jetzt funktiniert es.
MFG
Andre
AW: auch bei Zahlen Leerzeichen anhängen (Makro)
12.05.2006 17:00:40
firmus
oder so:
numerisch in char wandeln,
loop 1 to 5 würde entfallen, damit bessere performance.
Sub LeerzeicheAuffüllen() '5 Zeichen in Spalte B For j = 1 To [B65536].End(xlUp).Row For i = Len(Cells(j, 2)) + 1 To 5 tmpchar = Str(Cells(j, 2)) & " " 'mache char + 5 blanks anhängen" Cells(j, 2) = "'" & Mid(tmpchar, 2, 5) '1. Stelle abschneiden, next 5 nehmen Next i Next j End Sub
Gruss,
Firmus
Anzeige
AW: auch bei Zahlen Leerzeichen anhängen (Makro)
12.05.2006 18:07:38
Erich
Hallo André,
zum Rumprobieren:
Tabelle1
 BCDEFGHIJKLM
1altneuMak1Mak2Mak3Mak4Len BLen CLen 1Len 2Len 3Len 4
2                      055555
3                     155555
4aa    a    a    a    a    155555
5abab   ab   ab   ab   ab   255555
6abcabc  abc  abc  abc  abc  355555
7abcdabcd abcd abcd abcd abcd 455555
8abcdeabcdeabcdeabcdeabcdeabcde555555
9abcdefabcdefabcdefabcdefabcdeabcdef666656
1000    0    0    0    0    155555
111010   10   10   10   10   255555
12100100  100  100  100  100  355555
1310001000 1000 1000 1000 1000 455555
14100001000010000100001000010000555555
1510000010000010000010000010000100000666656
161000000100000010000001000000100001000000777757
Formeln der Tabelle
C2 : =WENN(LÄNGE(B2)>=5;B2&"";B2&WIEDERHOLEN(" ";5-LÄNGE(B2)))
H2 : =LÄNGE(B2)
I2 : =LÄNGE(C2)
J2 : =LÄNGE(D2)
K2 : =LÄNGE(E2)
L2 : =LÄNGE(F2)
M2 : =LÄNGE(G2)
C3 : =WENN(LÄNGE(B3)>=5;B3&"";B3&WIEDERHOLEN(" ";5-LÄNGE(B3)))
H3 : =LÄNGE(B3)
I3 : =LÄNGE(C3)
J3 : =LÄNGE(D3)
K3 : =LÄNGE(E3)
L3 : =LÄNGE(F3)
M3 : =LÄNGE(G3)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
B2 ist leer, in B3 steht ein Leerzeichen.
Und hier die 4 Makros dazu:
Option Explicit
'Wer aus Spalte B auf mind. 5 Zeichen auff[llen
Sub LeerzeicheAuffuellen1()
Dim j As Long
Columns("D").NumberFormat = "@"
For j = 2 To [B65536].End(xlUp).Row
Cells(j, 4) = Left(Cells(j, 2) _
& "     ", IIf(Len(Cells(j, 2)) <= 5, 5, Len(Cells(j, 2))))
Next j
Columns("D").NumberFormatLocal = "0,00"
End Sub
Sub LeerzeicheAuffuellen2()
Dim i&, j%
Columns("E").NumberFormat = "@"
For j = 2 To [B65536].End(xlUp).Row
Cells(j, 5) = Cells(j, 2)
For i = Len(Cells(j, 5)) + 1 To 5
Cells(j, 5) = Cells(j, 5) & " "
Next i
Next j
Columns("E").NumberFormat = "General"
End Sub
Sub LeerzeicheAuffüllen3()
Dim j As Long, tmpchar As String
For j = 2 To [B65536].End(xlUp).Row
tmpchar = Cells(j, 2) & "     "         'mache char + 5 blanks anhängen"
Cells(j, 6) = "'" & Mid(tmpchar, 1, 5)  '1. Stelle abschneiden, next 5 nehmen
Next j
End Sub
Sub LeerzeicheAuffuellen4()
With Range(Cells(2, 7), Cells([B65536].End(xlUp).Row, 7))
.Formula = "=IF(LEN(B2)>=5,B2&"""",B2&REPT("" "",5-LEN(B2)))"
.Copy
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
Application.CutCopyMode = False
End Sub
Makro 4 ist wohl das schnellste.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: auch bei Zahlen Leerzeichen anhängen (Makro)
13.05.2006 21:23:45
Andre´
Hallo Erich,
auch dir vielen DANK für deine Meldung.
MFG
Andre

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige