Stránka 1 z 1

Změna písma pro "Pole se seznamem" (vyřešeno)  Vyřešeno

Napsal: 29 úno 2008 18:04
od StaryMuz
Ahoj, hledám radu.
V Excelu, při použití panelu "Formuláře" můžu vybrat ovládací formulářový prvek "Pole se seznamem".
Vše mi běhá perfektně, jen mi vadí malé písmo.
Hledal jsem kde to šlo, nenašel jsem žádnou radu jak u tohoto prvku změnit velikost písma.
Nejedná se o ComboBox, ale o "stahovací".
Náhrada ComboBoxem (tam jde měnit písmo bez problémů = z panelu "Ovládací prvky"), není pro mne vhodná (potřebuji získat č.řádky položky, po restartu sešitu mít ve výběru načtenou volbu a mít možnost měnit volbu vzorcem ve výstupní buňce do doby "ruční" volby).
Nechce se mi věřit, že by nešlo změnit písmo alespoň přes VB, to je ale nad mé znalosti.
Nevíte někdo, jak by takové makro mělo vypadat?

    Sub stahovací1_Změnit()

    End Sub

Napsal: 29 úno 2008 20:58
od X

Napsal: 29 úno 2008 22:14
od StaryMuz
Díky za reakci.
Na té adrese jsem také odpověď nenašel.
Myslel jsi to jako lepší místo pro dotaz?

Napsal: 29 úno 2008 22:43
od X
Je to e-mailová konference, zaregistruj se a polož dotaz.

Napsal: 01 bře 2008 11:11
od StaryMuz
Díky,
už se stalo.

Pokud ale někdo radu zná, odpovězte sem prosím.
Když se mi postup někde podaří zjistit, dám to sem sám.

Napsal: 05 bře 2008 17:42
od StaryMuz
Tady je použité řešení.:
Místo "Pole se seznamem" z panelu "Formuláře" bylo použito z panelu "Ovládací prvky", tedy ComboBox a upraven i za pomocí makra tak, aby se choval naprosto stejně jako prvek z panelu "Formulářů".
Tedy, ComboBox byl nastaven na okamžité rozevření seznamu po jeho vybrání > Style=2 fmstyleDropDownList, získaná hodnota byla nastavena na číslo položky a ne na její obsah > BoundColumn=0.
V tomto nastavení ale ComboBox po restartu sešitu zobrazí prázdný výběr i když bylo vše uloženo s platným výběrem. Zároveň jakákoliv změna výběru položky, i zvolená změnou sdružené buňky, přepíše tuto buňku a tak by nešlo řídit výběr pomocí podmínky obsažené ve sdružené buňce opakovaně.
Tyto dva problémy řeší následující makro.

>Private Sub Workbook_open()
>Dim sh As Object, Vzorec As String
>Application.ScreenUpdating = False
> On Error Resume Next
>For Each sh In Worksheets("Ovladač").OLEObjects
> If Range(sh.LinkedCell).HasFormula Then
> Vzorec = Range(sh.LinkedCell).Formula
>
> sh.Object.Value = Range(sh.LinkedCell).Value
> Range(sh.LinkedCell).Formula = Vzorec
>
> If Err.Number > 0 Then
> Debug.Print sh.Name, Range(sh.LinkedCell).Value, Vzorec
> Err.Clear
> End If
> Vzorec = ""
> Else
> sh.Object.Value = Range(sh.LinkedCell).Value
> End If
>Next sh
>Application.ScreenUpdating = True
>End Sub

Nyní se už ComboBox chová stejně jako "stahovací" z panelu "Formuláře" a přitom umožňuje různé změny vzhledu včetně písma.