Čitateľ z Českej republiky sa pýtal na vytvorenie grafu v bunke na ilustráciu percenta.
Ak bola hodnota v bunke 37%, ako môžem vyplniť 37% bunky zospodu farbou?

Mala Singh z našej divízie grafiky prišla s týmto zaujímavým riešením, aby priniesla požadovaný efekt. Mala vytvorila pracovný list, kde každý riadok v skutočnosti pozostáva z 2 zlúčených riadkov. Bunky B2 a B3 sú zlúčené do jednej bunky. Keď sa zmení hodnota v B2, trochu kódu VBA na table pracovného hárka automaticky upraví výšku riadkov 2 a 3. Bunka C3 je zafarbená na modro a bunka C2 na bielo. Účinkom je, že sa zdá, že stĺpec C zobrazuje stĺpcový graf v bunke. Tento obrázok zobrazuje rôzne výšky modrého pruhu v bunkách C2 až C13.

Prvým krokom je zlúčenie buniek B2 a B3 do jednej bunky. Vyberiete bunky B2 a B3. Z ponuky vyberte Formát, Bunky. Prejdite na kartu Zarovnanie. Začiarknite políčko Zlúčiť bunky. To spôsobí, že B2 & B3 budú pôsobiť ako jedna bunka s názvom B2.
Bunku C2 nechajte bez výplne a pre bunku C3 použite ľubovoľnú farebnú výplň.
Kód pre túto techniku nie je vložený do bežného modulu. Je to kód „obsluhy udalosti“ a musí byť umiestnený v kódovom module pre tento konkrétny pracovný hárok. V článku Makro udalosti na pridanie cesty a názvu súboru do hlavičky programu Excel sa dozviete, ako otvoriť modul kódu pre pracovný hárok.
Zadajte nasledujúci kód do modulu kódu pre List1 (alebo akýkoľvek hárok, s ktorým pracujete).
Private Sub Worksheet_Change(ByVal Target As Range) Dim cell As Range For Each cell In Target.Cells If cell.Column = 2 And cell.Row> 1 Then If cell.Value> 1 Or cell.Value < 0 Then cell.Select MsgBox ("Value must be between 0 and 100%") End If If IsEmpty(cell) Or cell.Value = 0 Then cell.Range("B1:B2").RowHeight = 25 'cell.Range("B2").Interior.ColorIndex = xlNone Else On Error Resume Next cell.Range("B1").RowHeight = 50 * (1 - cell.Value) With cell.Range("B2") .RowHeight = 50 * cell.Value '.Interior.Color = RGB(0, 0, 255) On Error GoTo 0 End With End If End If Next End Sub
V stĺpci B môžete opakovať postup zlučovania párov buniek.
Ďakujem Malej Singhovej za toto riešenie. Mala môže navrhnúť riešenie grafov na mieru, aby vyhovel všetkým potrebám. Prispel do kapitoly grafov vo VBA a Makrá pre Excel.