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

Formatierung, einrücken

Formatierung, einrücken
21.01.2016 15:46:50
Alex
Hallo,
nachdem mir das erstemal super geholfen wurde, habe ich nun ein weiteres Problem:
Ich habe verschiedene Arbeitsmappen, in denen in Spalte A nummeriert wird und B der Text steht:
A1='1 B1=Unternehmen
A2='1.1 B2=Abteilung
A3='1.1.1 B3=Team
usw...
Jetzt würde ich gerne wollen, dass 1.1 einmal eingerückt wird, 1.1.1 zweimal eingerückt und dazu auch die dazugehörige B-Zeile.
Ich habe schon etwas rumgebastelt, aber mir fällt keine Idee ein, dass mit einer "kleinen" Funktion hinzubekommen bzw. überhaupt es hinzubekommen.
Leider funktioniert der Code noch nicht mal für A1:1...
Jemand eine Idee oder sowas schon mal benötigt?

Private Sub CommandButton21_Click()
Dim zelle As Range
For Each zelle In ActiveSheet.UsedRange.Columns("A").Cells
If Len(zelle) = 1 Then
With Range("A1:B1")
.IndentLevel = 1
End With
ElseIf Len(zelle) = 3 Then
With Range("A1:B1")
.IndentLevel = 2
End With
ElseIf Len(zelle) = 5 Then
With Range("A1:B1")
.IndentLevel = 3
End With
ElseIf Len(zelle) = 7 Then
With Range("A1:B1")
.IndentLevel = 4
End With
ElseIf Len(zelle) = 9 Then
With Range("A1:B1")
.IndentLevel = 5
End With
Else
End If
Next
End Sub

Viele Grüße und Danke!
Alex

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

Betreff
Datum
Anwender
Anzeige
AW: Formatierung, einrücken
21.01.2016 16:12:09
Rudi
Hallo,
Zähl die Punkte!
Sub aa()
Dim r As Range
For Each r In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
With r.Resize(, 2)
.HorizontalAlignment = xlLeft
.IndentLevel = Len(r) - Len(Replace(r, ".", ""))
End With
Next
End Sub

Gruß
Rudi

AW: Formatierung, einrücken
22.01.2016 11:37:08
Alex
Hallo Rudi :)
Auf die Idee hätte ich auch mal kommen können - funktioniert perfekt.
Was jetzt aber nicht hinhaut, dass er das für jedes Worksheet in einem Workbook macht, ich verstehe absolut nicht, wo der Fehler ist...
So sollte er doch für jedes Worksheets in meinem Workbook über call jedes mal die Funktion aufrufen?!

Sub JedesWS()
Dim WS As Worksheet
For Each WS In ActiveWorkbook.Worksheets
Call einruecken
Next WS
End Sub

Sub einruecken()
Dim r As Range
For Each r In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
With r.Resize(, 2)
.HorizontalAlignment = xlLeft
.IndentLevel = Len(r) - Len(Replace(r, ".", ""))
End With
Next r
End Sub

DANKE!!!
Viele Grüße,
Alex

Anzeige
AW: Formatierung, einrücken
22.01.2016 21:54:47
Rudi
Hallo,
so sollte das gehen:
Sub JedesWS()
Dim WS As Worksheet
For Each WS In ActiveWorkbook.Worksheets
Call einruecken (ws)
Next WS
End Sub
Sub einruecken(ws as worksheet)
Dim r As Range
For Each r In ws.Range(ws.Cells(1, 1), ws.Cells(Rows.Count, 1).End(xlUp))
With r.Resize(, 2)
.HorizontalAlignment = xlLeft
.IndentLevel = Len(r) - Len(Replace(r, ".", ""))
End With
Next r
End Sub

Gruß
Rudi

AW: Formatierung, einrücken
25.01.2016 14:39:32
Alex
Hi Rudi,
komisch, genauso hatte ich das auch schon probiert, aber ging nicht, neues Excel Blatt und es funktioniert.
Danke dir!
Viele Grüße,
Alex
P.S. Kann geschlossen werden
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige