Herbers Excel-Forum - das Archiv

Schriftgröße in Gültigkeitsbereich | Herbers Excel-Forum

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Betrifft: Schriftgröße in Gültigkeitsbereich
von: Heinz H

Geschrieben am: 02.01.2010 09:26:35

Guten morgen im Forum
Kann man die Schriftgröße für Gültigkeitsbereich "Liste" Quelle L54:L58 ändern ?
Ist doch etwas zu klein für manche Benutzer.
ODER gibt es eine andere Lösung ?
Gruß
Heinz

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Hajo_Zi
Geschrieben am: 02.01.2010 09:27:52
Hallo Heinz,
Schriftgröße Daten Gültigkeit
Da hast Du wenig Einfluss.
Im Internet Stand mal folgender Tip:
Zomm 200%, Schriftgröße auf die Hälfte reduzieren und Spalten und Zeilenbeschriftung ausblenden

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Heinz H
Geschrieben am: 02.01.2010 09:35:06
Guten morgen.Hajo
Habe jetzt deinen Tip getestet. Es funktioniert,ABER das optimale ist es auch nicht.
Trozdem recht herzlichen Dank.
Gruß
Heinz

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Beverly

Geschrieben am: 02.01.2010 11:04:44
Hi Heinz,
andere Lösung: du könntest anstelle des DropDown-Listenfeldes aus Daten Gültigkeit beim Select auf die betreffende Zelle eine ComboBox aus den ActiveX-Steuerelementen mit den betreffenden Einstellungen "temporär" einfügen, welche beim Verlassen wieder gelöscht wird. Dazu folgenden Code ins Codemodul des Tabellenblattes:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ooElement As OLEObject
Application.ScreenUpdating = False
If Target.Address = "$C$2" Then
Set ooElement = OLEObjects.Add(ClassType:="Forms.ComboBox.1",  _
Left:=0, Top:=0, Width:=0, Height:=0)
With ooElement
.Top = Range("C2").Top
.Left = Range("C1").Left
.Width = Range("C2:D2").Width
.Height = Range("C2:C3").Height
.ListFillRange = "$L$54:$L$58"
.LinkedCell = ""
.Activate
.Object.Font.Size = 12
.Object.DropDown
.Object.ListIndex = 0
End With
End If
Application.ScreenUpdating = True
End Sub
Private Sub ComboBox1_Change()
Range("C2") = ComboBox1
End Sub
Private Sub ComboBox1_LostFocus()
Range("C2") = ComboBox1
ActiveSheet.OLEObjects(1).Delete
End Sub


Die Zelle mit der simulierten Liste ist C2 - musst du an deine Bedingungen anpassen, ebenso die Schriftgröße sowie die Größe der ComboBox.
Voraussetzung für das Funktionieren des Ganzen ist natürlich, dass keine weiteren ComboBoxen im Tabellenblatt vorhanden sind.


Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Heinz H

Geschrieben am: 02.01.2010 11:25:00
Schönen Tag Karin
Das mit der ComboBox wird glaube ich nicht gehen,(Habe selbst schon daran gedacht), Den die ComboBox sollte nicht immer sichtbar sein.
Nur wenn ich auf eine der Zelle L6:L35 klicke. (Siehe Datei)
Schade um Deine Bemühungen.
Recht herzlichen Dank
Gruß
Heinz
https://www.herber.de/bbs/user/66919.xls

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Beverly

Geschrieben am: 02.01.2010 11:57:22
Hi Heinz,
mir scheint, du hast den Code nicht einmal getestet - die ComboBox wird nur temporär erstellt, denn wenn sie verlassen wird, wird sie wieder gelöscht (hatte ich in meinem vorhergehenden Beitrag schon geschrieben!).
Wenn es mehrere Zellen betriff, dann den gesamten Code wie folgt ändern
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ooElement As OLEObject
Application.ScreenUpdating = False
If Not Intersect(Target, Range("L6:L35")) Is Nothing Then
Set ooElement = OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
Left:=0, Top:=0, Width:=0, Height:=0)
With ooElement
.Top = Target.Top
.Left = Target.Left
.Width = Range(Target, Target.Offset(1, 2)).Width
.Height = Range(Target, Target.Offset(1, 2)).Height
.ListFillRange = "$L$54:$L$58"
.LinkedCell = ""
.Activate
.Object.Font.Size = 12
.Object.DropDown
.Object.ListIndex = 0
End With
End If
Application.ScreenUpdating = True
End Sub
Private Sub ComboBox1_Change()
Range(ComboBox1.TopLeftCell.Address) = ComboBox1
ActiveSheet.OLEObjects(1).Delete
End Sub

Lösche vorher alle Daten Gültigkeit DropDowns in L6:L35.


Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Heinz H
Geschrieben am: 02.01.2010 12:02:54
Hallo Karin
Recht-Recht herzlichen Dank.
Ja du hattest recht


"mir scheint, du hast den Code nicht einmal getestet
Funkt. SUPER
Danke & Gruß
Heinz

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Willy
Geschrieben am: 03.01.2010 00:33:46
Hallo Karin
super Code, ( der Fachmann staunt und der Laie wundert sich )
der erste funzt super,
beim zweiten geht die Gültigkeitsliste weg, aber die ComboBox bleibt in voller größe stehen.
Gruß Willy

Betrifft: ..versuch einmal..
von: robert
Geschrieben am: 03.01.2010 09:05:40
hi,
lösche einmal die boxen per hand, dann sollte es gehen-
zumindest bei mir geht es dann.
gruß
robert

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Beverly

Geschrieben am: 03.01.2010 09:56:13
Hi Willy,
das kann ich leider nicht nachvollziehen - bei mir bleibt keine ComboBox stehen. Der Code hat auch keinerlei Einfluss auf die Zellen mit der Gültigkeits-Liste, denn es wird nur ein Wert eingetragen. Die Gültigkeits-Listen sollten nur deshalb gelöscht werden weil sie nicht mehr benötigt werden.


Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Willy
Geschrieben am: 03.01.2010 10:54:51
Hallo Robert
löschen, schön und gut, aber wie ???
Hallo Karin
Ich habe es jetzt mehr mal mit neuen leeren Arbeitsmappen probiert und komme immer auf das gleiche Ergebnis. Siehe Anhang.
Gruß Willy
https://www.herber.de/bbs/user/66944.xls

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Beverly
Geschrieben am: 03.01.2010 14:16:30
Hi Robert,
schalte den Entwurfsmodus ein und dann kannst du sie löschen.
https://www.herber.de/bbs/user/66946.xls



Betrifft: ..das sollte wohl an Willy-owT
von: robert
Geschrieben am: 03.01.2010 14:20:44

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: robert
Geschrieben am: 03.01.2010 14:24:03
Hi,
hier deine datei nach mehrmaliger auswahl :-)
warum bleiben die stehen ?
gruß
robert
https://www.herber.de/bbs/user/66947.xls

Betrifft: AW: Schriftgröße in Gültigkeitsbereich
von: Beverly

Geschrieben am: 03.01.2010 14:35:22
Hi Robert,
sorry, meinte im vorhergien Beitrag natürlich Willy.
Du musst die ComboBox verlassen indem du etwas auswählst - wenn nichts eingetragen werden soll dann den leeren "Eintrag".
Wenn die ComboBox auch gelöscht werden soll wenn man sie ohne etwas auszuwählen verlässt, dann musst du den Code so wie in meinem ersten Post noch um das LosFocus-Ereignis ergänzen:
 Private Sub ComboBox1_Change()
Range(ComboBox1.TopLeftCell.Address) = ComboBox1
ActiveSheet.OLEObjects(1).Delete
End Sub
Private Sub ComboBox1_LostFocus()
ActiveSheet.OLEObjects(1).Delete
End Sub




Betrifft: Danke Karin :-) owT-Gruß
von: robert
Geschrieben am: 03.01.2010 14:52:22

Betrifft: AW: Danke Karin :-)
von: Willy

Geschrieben am: 03.01.2010 18:58:09
Hi Karin und Robert
Das löschen im Entwurfmodus habe ich hin bekommen.
Die Gültigkeitliste funzt nach langen testen jetzt auch, aber den ersten Wert L54 wird nicht übernommen.
In L54 bis L58 steht was und im Code
.ListFillRange = "$L$54:$L$58"

ist der Bereich auch festgelegt, habe den Bereich erweitert.
.ListFillRange = "$L$53:$L$59"

Habt ihr dieses Phänomen auch ???
Danke
Gruß aus der Uckermark
Willy

Betrifft: AW: Danke Karin :-)
von: Beverly

Geschrieben am: 03.01.2010 20:06:39
Hi Willy,
also irgendwie verstehe ich nicht was du meinst - ListFillRange weist den Wertebereich zu und was in diesen Zellen steht, wird dann auch in der ComboBox zur Auswahl angeboten. Wenn eine der Zellen leer sein sollte, dann ist diese Zeile in der ComboBox natürlich auch leer. Und eine Zeile sollte auch leer sein, weil du andernfalls keinen Eintrag mehr "gelöscht" (besser: überschrieben durch nichts) bekommst.
https://www.herber.de/bbs/user/66961.xls
Ich habe mal den Bereich im Tabellenblatt gelb markiert, der in der ComboBox dargestellt wird.


Betrifft: AW: Danke Karin :-)
von: Willy

Geschrieben am: 04.01.2010 10:51:00
Hi Karin,
die Liste sieht doch so aus:
obere Zelle ist leer
Urlaub
Krank
Pflegefreistellung
Bildungsurlaub
AAA
CCC
jetzt schreibe z.B. Urlaub in die obere Zelle, dann wird Urlaub nicht in die Tabelle übernommen, auch bei deiner neuen Datei, jedenfalls so ist es bei mir. Und ich wollte nur wissen ob du auch dieses Phänomen hast oder es nur bei mir ist.
Ansonsten funzt es super. Sorry bin ein schwieriger Kunde.
Danke
Gruß aus der Uckermark
Willy

Betrifft: AW: Danke Karin :-)
von: Beverly

Geschrieben am: 04.01.2010 11:02:47
Hi Willy,
schreibe den Code im LostFocus so:

Private Sub ComboBox1_LostFocus()
Range(ComboBox1.TopLeftCell.Address) = ComboBox1
ActiveSheet.OLEObjects(1).Delete
End Sub
Da kein Change-Ereignis ausgeführt wird wenn die ComboBox ohne Auswahl eines anderen Eintrages verlassen wird, muss der Eintrag in die Zelle auch beim einfachen Verlassen der ComboBox erfolgen.


Betrifft: AW: Danke Karin :-)
von: Heinz H
Geschrieben am: 04.01.2010 13:24:43
Hallo Karin
Auch ich möchte mich,bei Dir nochmals recht herzlich bedanken.
Gruß
Heinz

Betrifft: Danke Karin :-) owT Gruß Willy
von: Willy

Geschrieben am: 04.01.2010 17:45:47
Excel-Beispiele zum Thema "Schriftgröße in Gültigkeitsbereich"
Über VBA Schriftgröße von Fußzeilen bestimmen Schriftgröße beim Kopieren verdoppeln
Schriftgröße der aktiven Zelle bei Auswahl ändern Bei Öffnen Standardschriftgröße prüfen und Zoom festlegen
Änderung der Schriftgröße bei Zellauswahl