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

Format Ausrichtung Text nach oben WENN - VBA

Format Ausrichtung Text nach oben WENN - VBA
02.04.2016 14:52:33
Martin
Hallo zusammen,
wiedermal eine Frage an dieses geniale Forum!
In den Bereich I62:CL62 werden mittels VBA Texte geschrieben und auch wieder gelöscht. Ich hätte nun gerne die Formatierung: Ausrichtung "Text nach oben drehen" wenn sich in der Zelle das Wort "MAT" befindet, sonst soll die Ausrichtung normal sein.
Geht das mit VBA? Die bedingte Formatierung gibt mir diese Möglichkeit leider nicht.
Danke schon jetzt für eure Hilfe!
lg
MArtin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format Ausrichtung Text nach oben WENN - VBA
02.04.2016 15:00:20
Hajo_Zi
Hallo Martin,
zeichne die Aktion mit dem Makrorecorder auf und If dürfte ja nicht das Problem sein.

AW: Format Ausrichtung Text nach oben WENN - VBA
02.04.2016 15:36:18
Martin
Hi Hajo,
danke für die schnelle Antwort! Leider bekomme ich das nicht hin. Ich verstehe IF zwar wenn ich es sehe und kann es dann auch abändern, kann es aber leider nicht wirklich erstellen. Mein VBA ist wirklich sehr bescheiden :/
Ich hab mich jetzt ein bisschen rum gespielt, komme aber zu keinem Ergebnis. Mein Ansatz ist folgender: (Wird kompletter Blödsinn sein)
Sub Ausrichtung()
If Sheets("Planung").Range("I62:CL62").Value = "MAT" Then
.Orientation = 90
Else
.Orientation = 0
End If
End Sub
Kannst du mir hier bitte doch nochmal helfen?
Vielen dank und lg
Martin

Anzeige
AW: Format Ausrichtung Text nach oben WENN - VBA
02.04.2016 15:50:45
Hajo_Zi
Hallo Martin,
es fehlt das With für .Orientation
Du solltest den aufgezeichneten Code nur ändern, wenn Du es verstehst.
Du kannst nicht mehrere Zelle auf einmal auf Inhalt prüfen.
COUNTIF()
Gruß Hajo

AW: Format Ausrichtung Text nach oben WENN - VBA
02.04.2016 15:59:42
Fennek
Hallo Martin,
ungeprüft:

Sub Ausrichtung()
Dim rng as range
Set rng = sheets("Planung").range("i62:cl62")
If worksheetfunction.countif(rng, "Mat") > 0 then
Rng.orientation = 90
Else
Rng.orientation = 0
End if
End sub
Mfg

Anzeige
AW: Format Ausrichtung Text nach oben WENN - VBA
02.04.2016 21:39:02
Martin
Hallo Fennek!
Danke für deine Hilfe! Ich habe erst jetzt hier rein geschaut da ich versuchte mir selber eine Lösung zu basteln. Nach langem suchen habe ich auch einen Code gefunden der zwar nicht genau das gemacht hat was ich gesucht habe, aber ich habe es nach einigen Versuchen geschafft ihn so anzupassen das er funktioniert.
Danke trotzdem für deine Bemühungen!
Hier zur Info noch der Code:
Private Sub FormatMat()
Dim z As Object, Rng As Range
Dim i As Long
Set Rng = Range("I52:CL52")
'Alles auf 0 Orientieren
Rng.Orientation = 0
'Nur Zellen mit MAT auf 90 Orientieren
For Each z In Rng.SpecialCells(xlCellTypeConstants, 2)
If z.Value = "MAT" Then
z.Orientation = 90
End If
Next
End Sub
Danke nochmal an euch beide für eure Hilfe!
LG
Martin

Anzeige
AW: Projekt hat sich leicht geändert - Anpassung
04.04.2016 10:00:24
Mats
Hi nochmal,
das Projekt hat sich nun etwas erweitert und ich muss nun mehrere Bereiche überprüfen. Im Moment sind es 4 weitere, es können jedoch mehr werden. Kann man die Bereiche irgendwie hinzufügen?
Zudem wäre es super wenn der Code nicht nur MAT überprüfen kann sondern alles das mit "MAT" beginnt. Ich habe "MAT*" versucht, aber das geht nicht.
Hier nochmal der aktuelle Code:
Private Sub FormatMat()
Dim z As Object, Rng As Range
Dim i As Long
Set Rng = Range("I52:CL52")
'Alles auf 0 Orientieren
Rng.Orientation = 0
'Nur Zellen mit MAT auf 90 Orientieren
For Each z In Rng.SpecialCells(xlCellTypeConstants, 2)
If z.Value = "MAT" Then
z.Orientation = 90
End If
Next
End Sub
Danke für eure Hilfe!
lg
Martin

Anzeige
AW: Projekt hat sich leicht geändert - Anpassung
05.04.2016 13:59:30
Steve
Hallo,
mit dem Range-Befehl kann man nur zusammenhängende Bereiche angeben, du benötigst den Befehl Union(), der dir die Vereinigungsmenge bildet.
Wenn du den Anfang prüfen willst nutzt dir die Funktion Left() etwas. Left(Text, 3) gibt dir die ersten drei Zeichen von links.
lg Steve
Private Sub FormatMat()
Dim z As Object, Rng As Range
Dim i As Long
Set Rng = Union(Range("I52:CL52"), _
Range("A4:C100"), _
Range("B150:B200"), _
Range("Z1:Z20"), _
Range("ASD5:ASE5"))
'Alles auf 0 Orientieren
Rng.Orientation = 0
'Nur Zellen mit MAT auf 90 Orientieren
For Each z In Rng.SpecialCells(xlCellTypeConstants, 2)
If Left(z.Value, 3) = "MAT" Then
z.Orientation = 90
End If
Next
End Sub

Anzeige

49 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige