Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Ausrichten in Zelle
23.07.2008 09:00:00
Ralf
Hallo Excel - Experten,
ich möchte gerne von B 12 bis B 1000 die Zellen ausrichten,
je nachdem ob dort ein A ( linksbündig) B (Mitte) oder C (rechtsbündig)
steht. Mit meinen sehr sehr bescheidenen VBA Kenntnissen habe ich
diesen Code entwickelt, könntet Ihr mir helfen, ihn zum Laufen zu bringen ?

Sub Ausrichten()
Dim c As Range
Range("B12:B1000").Select
For Each c In Selection
If c.Value = "A" Then
.HorizontalAlignment = xlLeft
End If
If c.Value = "B" Then
.HorizontalAlignment = xlCenter
End If
If c.Value = "C" Then
.HorizontalAlignment = xlRight
End If
Next c
End Sub


Viele :-) Grüße
Ralf

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausrichten in Zelle
23.07.2008 09:08:00
Sigi
Hi Ralf,
fast perfekt. Es fehlt nur je ein c bei .HorizontalAlignment

Sub Ausrichten()
Dim c As Range
Range("B12:B1000").Select
For Each c In Selection
If c.Value = "A" Then
c.HorizontalAlignment = xlLeft
End If
If c.Value = "B" Then
c.HorizontalAlignment = xlCenter
End If
If c.Value = "C" Then
c.HorizontalAlignment = xlRight
End If
Next c
End Sub


Gruß
Sigi

Danke Sigi !!!
23.07.2008 09:20:47
Ralf
Hallo Sigi,
vielen Dank für Deine schnelle Hilfe !
Jetzt läuft es, super :-)
Viele Grüße
Ralf

AW: Ausrichten in Zelle
23.07.2008 09:14:14
Tino
Hallo,
ich würde dies so machen, ohne Schleife.

Dim c As Range
Set c = Range("B12:B1000")
Application.ReplaceFormat.HorizontalAlignment = xlLeft
c.Replace "A", "A", xlWhole, , True, , , True
Application.ReplaceFormat.HorizontalAlignment = xlCenter
c.Replace "B", "B", xlWhole, , True, , , True
Application.ReplaceFormat.HorizontalAlignment = xlRight
c.Replace "C", "C", xlWhole, , True, , , True
Set c = Nothing


Gruß Tino

www.VBA-Excel.de


Anzeige
Danke Tino !!!
23.07.2008 09:23:02
Ralf
Hallo Tino,
Deine Lösung läuft auch super :-)
Vielen Dank dafür
Viele Grüße
Ralf

AW: Ausrichten in Zelle
23.07.2008 09:20:00
Rudi
Hallo,

Sub tt()
Dim c As Range
For Each c In Range("B12:b1000")
Select Case c.Value
Case "A": c.HorizontalAlignment = xlLeft
Case "B": c.HorizontalAlignment = xlCenter
Case "C": c.HorizontalAlignment = xlRight
End Select
Next
End Sub


Gruß
Rudi

Danke Rudi !!!
23.07.2008 09:24:00
Ralf
Hallo Rudi,
wie nicht anders von Dir zu erwarten, es läuft ganz prima :-)
Viele Grüße
Ralf

AW: Ausrichten in Zelle
23.07.2008 09:21:00
yusuf
Hi,
hier 2 Möglichkeiten.

Sub ausrichten()
Dim c As Range
Range("B12:C1000").Select
For Each c In Selection
If c.Value = "A" Then
c.HorizontalAlignment = xlLeft
End If
If c.Value = "B" Then
c.HorizontalAlignment = xlCenter
End If
If c.Value = "C" Then
c.HorizontalAlignment = xlRight
End If
If c.Value = "a" Then
c.HorizontalAlignment = xlLeft
End If
If c.Value = "b" Then
c.HorizontalAlignment = xlCenter
End If
If c.Value = "c" Then
c.HorizontalAlignment = xlRight
End If
Next c
End Sub



Sub ausrichten2()
Dim i As Integer
For i = 12 To 1000
Select Case Cells(i, 2).Value
Case "A"
Cells(i, 2).HorizontalAlignment = xlLeft
Case "B"
Cells(i, 2).HorizontalAlignment = xlCenter
Case "C"
Cells(i, 2).HorizontalAlignment = xlRight
Case "a"
Cells(i, 2).HorizontalAlignment = xlLeft
Case "b"
Cells(i, 2).HorizontalAlignment = xlCenter
Case "c"
Cells(i, 2).HorizontalAlignment = xlRight
End Select
Next i
End Sub


Gruß
Yusuf

Anzeige
Danke Yusuf !!!
23.07.2008 09:28:00
Ralf
Hallo Yusuf,
das ist natürlich eine sehr sinnvolle Ergänzung, an die
ich auch gerade dachte, mich aber noch nicht heranwagte :-)
Vielen Dank dafür und
viele :-) Grüße
Ralf

AW: Ausrichten in Zelle
23.07.2008 09:25:52
Erich
Hallo Ralf,
da wirst du ja bombardiert mit Lösungen...
Und nun noch eine:

Sub Ausrichten2()
Dim c As Range, rngZ As Range, rngR As Range
Range("B12:B1000").HorizontalAlignment = xlGeneral
For Each c In Range("B12:B1000")
Select Case c.Value
Case "B"
If rngZ Is Nothing Then Set rngZ = c Else Set rngZ = Union(rngZ, c)
Case "C"
If rngR Is Nothing Then Set rngR = c Else Set rngR = Union(rngR, c)
End Select
Next c
If Not rngZ Is Nothing Then rngZ.HorizontalAlignment = xlCenter
If Not rngR Is Nothing Then rngR.HorizontalAlignment = xlRight
End Sub

Bei "A" kann Standard stehen bleiben - der Text ist ohnehin linksbündig.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
Danke Erich !!!
23.07.2008 09:52:01
Ralf
Hallo Erich,
vielen Dank, auch für Deine Lösung.
Ja, da hast Du wohl Recht, es sind sehr viele Lösungen und
auch gute Lösungen. Dies ist eben ein SUPERFORUM :-) !!!
Viele :-) Grüße
Ralf
PS: es wäre schön, wenn auf meine andere Frage ( optisches Hervorheben in Pivottab.) auch so viele
Antworten eingängen :-)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen