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

Wenn Zelle = X dann Ausrichtung Spalte...

Wenn Zelle = X dann Ausrichtung Spalte...
12.12.2012 15:35:10
Tim
Hallo an alle,
ich möchte gerne folgendes für ein Blatt (Blatt7) einer Tabelle umsetzen:
Wenn V1 = X dann Ausrichtung Bereich F9:F1007 = linksbündig mit Schriftgröße 11, ansonsten Ausrichtung = zentriert mit Schriftgröße 12.
Ich habe bislang folgenden Codeteil im Change-Ereignis, das klappt allerdings nur, wenn ich anschließend manuell in eine Zelle klicke.
Kann mir jemand sagen, was ich hier anders / besser machen kann ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets(7).Unprotect "XXX"
If Worksheets(7).Range("V1") = "X" Then
Worksheets(7).Range("F9:F1007").HorizontalAlignment = xlLeft
Worksheets(7).Range("F9:F1007").Font.Size = 11
Else
Worksheets(7).Range("F9:F1007").HorizontalAlignment = xlCenter
Worksheets(7).Range("F9:F1007").Font.Size = 12
End If
Worksheets(7).Protect UserInterfaceOnly:=True, Password:="XXX"
End Sub
VG und vielen Dank im Voraus für jeden Tipp,
Tim

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zelle = X dann Ausrichtung Spalte...
12.12.2012 15:38:55
Rudi
Hallo,
Ich habe bislang folgenden Codeteil im Change-Ereignis
das ist aber das SelectionChange-Ereignis.
Wie kommt X in V1 denn zustande?
Gruß
Rudi

AW: Wenn Zelle = X dann Ausrichtung Spalte...
12.12.2012 17:21:29
Tim
Danke, Rudi.
Auf Blatt1 der Tabelle befindet sich eine Liste mit Usernamen und daneben eine Spalte mit den jeweiligen Abteilungen.
Beim Öffnen der Tabelle wird dann der User mittels Environ mit dieser Liste abgeglichen und nur bei einer bestimmten Abteilung das X in V1 gesetzt, da hier andere Inhalte angezeigt werden.
Das X ist für den User nicht zu sehen und kann auch während der Nutzung der Tabelle nicht geändert werden.
Ich hatte den Codeteil zuerst nach Workbook_Open gesetzt aber auch da hat es nicht funktioniert.
VG,
Tim

Anzeige
AW: Liegt vermutl am Username
12.12.2012 17:27:38
Sheldon
Hallo Tim,
vergleiche mal den Username, den Environ ermittelt bei dem User, bei dem es nicht funktioniert, ob die Schreibweise exakt mit der in der Tabelle überein stimmt! Ich vermute da liegt der Hase im Pfeffer und nicht, wo der Code hinkommt. Denn logisch ist doch, das X kann während der Bearbeitung nicht verändert werden, also gehört der Code natürlich in das Workbook-Open-Event.
Gruß
Sheldon

AW: Liegt vermutl am Username
12.12.2012 20:26:02
Tim
Hallo Sheldon,
vielen Dank !
Ich habe den Code nochmal neu in Workbook_Open eingegeben und jetzt funktioniert es sowohl mit der Ausrichtung, als auch mit der Schriftgröße - da habe ich wohl vorher einen Tippfehler übersehen, sorry !
VG und trotzdem danke,
Tim

Anzeige
AW: Liegt vermutl am Username
12.12.2012 21:19:20
Tim
Hallo Sheldon,
jetzt habe ich heraus gefunden, was den Fehler verursacht, leider aber noch nicht die Lösung dafür.
Alles funktioniert einwandfrei, wenn beim Öffnen der Tabelle alle Zeilen eingeblendet sind (was nicht immer der Fall ist), wurden zuvor jedoch einige Zeilen ausgeblendet, dann greift mein Code nur auf die eingeblendeten Zellen.
Mein Code in Workbook_Open sieht wie folgt aus:
Private Sub Workbook_Open()
Worksheets(7).Unprotect "XXX"
If Worksheets(1).Range("H1") = "X" Then
Worksheets(7).Range("F9:F1007").HorizontalAlignment = xlLeft
Worksheets(7).Range("F9:F1007").Font.Size = 11
Else
Worksheets(7).Range("F9:F1007").HorizontalAlignment = xlCenter
Worksheets(7).Range("F9:F1007").Font.Size = 12
End If
Worksheets(7).Protect UserInterfaceOnly:=True, Password:="XXX"
End Sub
Gibt es hier auch einen Weg, dass dieser Code für alle (nicht leeren) Zeilen der entsprechenden Tabelle greift ?
VG und vielen Dank nochmal für Eure Hilfe,
Tim

Anzeige
AW: Wenn Zelle = X dann Ausrichtung Spalte...
12.12.2012 21:20:07
Tim
Hallo Rudi,
jetzt habe ich heraus gefunden, was den Fehler verursacht, leider aber noch nicht die Lösung dafür.
Alles funktioniert einwandfrei, wenn beim Öffnen der Tabelle alle Zeilen eingeblendet sind (was nicht immer der Fall ist), wurden zuvor jedoch einige Zeilen ausgeblendet, dann greift mein Code nur auf die eingeblendeten Zellen.
Mein Code in Workbook_Open sieht wie folgt aus:
Private Sub Workbook_Open()
Worksheets(7).Unprotect "XXX"
If Worksheets(1).Range("H1") = "X" Then
Worksheets(7).Range("F9:F1007").HorizontalAlignment = xlLeft
Worksheets(7).Range("F9:F1007").Font.Size = 11
Else
Worksheets(7).Range("F9:F1007").HorizontalAlignment = xlCenter
Worksheets(7).Range("F9:F1007").Font.Size = 12
End If
Worksheets(7).Protect UserInterfaceOnly:=True, Password:="XXX"
End Sub
Gibt es hier auch einen Weg, dass dieser Code für alle (nicht leeren) Zeilen der entsprechenden Tabelle greift ?
VG und vielen Dank nochmal für Eure Hilfe,
Tim

Anzeige
AW: dann blende die Zeilen halt vorher ein!
15.12.2012 19:24:52
Sheldon
Hi Tim,
das kannst Du z. B. mit diesem Befehl:
Range(Cells(9, 1), Cells(1007, 1)).EntireRow.Hidden = False
Gruß
Sheldon

367 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige