Tšekin tasavallasta tullut lukija kysyi solun sisäisen kaavion luomisesta prosenttiosuuden havainnollistamiseksi.
Jos solun arvo oli 37%, kuinka voin täyttää 37% solusta alhaalta värillä?

Mala Singh Graphics-divisioonastamme keksi tämän mielenkiintoisen ratkaisun halutun vaikutuksen aikaansaamiseksi. Mala rakensi laskentataulukon, jossa kukin rivi koostuu 2 yhdistetystä rivistä. Solut B2 ja B3 yhdistetään yhteen soluun. Kun B2: n arvoa muutetaan, pieni osa VBA-koodista laskentatauluruudussa säätää automaattisesti rivien 2 ja 3 korkeutta. Solu C3 on sininen ja solu C2 valkoinen. Vaikutus on, että sarake C näyttää osoittavan sarakekaaviota solussa. Tämä kuva näyttää sinisen palkin eri korkeuksia soluissa C2 - C13.

Ensimmäinen vaihe on solujen B2 ja B3 yhdistäminen yhdeksi soluksi. Valitset solut B2 ja B3. Valitse valikosta Alusta, Solut. Siirry Tasaus-välilehdelle. Valitse Yhdistä solut -valintaruutu. Tämä saa B2 & B3: n toimimaan yhtenä B2-nimisenä soluna.
Jätä solu C2 ilman täyttöä ja käytä mitä tahansa väritäyttöä soluun C3.
Tämän tekniikan koodia ei sijoiteta tavalliseen moduuliin. Se on "tapahtumankäsittelijä" -koodi ja se on sijoitettava tämän laskentataulukon koodimoduuliin. Lue Tapahtumakro lisätäksesi polun ja tiedostonimen Excel-otsikkoon -artikkelista visuaalisen kuvan taulukon koodimoduulin avaamisesta.
Syötä seuraava koodi Sheet1-koodimoduuliin (tai mihin tahansa työarkkiin).
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
Voit toistaa soluparien yhdistämisprosessin sarakkeessa B.
Kiitos Mala Singhille tästä ratkaisusta. Mala voi suunnitella räätälöityjä kartoitusratkaisuja vastaamaan tarpeita. Hän osallistui VBA: n ja Excelin makrojen kartoituslukuun.