Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Excel bij bepaalde celwaarde andere grafiek

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk om in Excel afhankelijk van een celwaarde een andere grafiek te tonen? Bijvoorbeeld als de celwaarde is "vloer" dan grafiek:
Afbeeldingslocatie: http://www.integraalomgevingsadvies.nl/plaatje0.jpg

celwaarde is "gevel" dan grafiek:
Afbeeldingslocatie: http://www.integraalomgevingsadvies.nl/plaatje1.jpg

celwaarde is "dak" dan grafiek:
Afbeeldingslocatie: http://www.integraalomgevingsadvies.nl/plaatje2.jpg

Iemand een idee of kan dit niet?

  • Panzer_V
  • Registratie: April 2004
  • Laatst online: 12:15
Ja dit is mogelijk, natuurlijk! Het is zelfs heel eenvoudig. Het enige wat je hiervoor moet doen is een stukje VBA code programmeren. In deze code programmeer je vervolgens het type grafiek dat getoond moet worden afhankelijk van de waarde in de cel die aangeeft welke grafiek je wilt zien.

Uiteraard koppel je deze code aan een "Change" command van de specifieke cel. Dan houdt Excel zelf bij wanneer ie de code moet executen. ;)

Zonder VBA gaat dit je overigens gegarandeerd niet lukken. Dus als je niet kunt/ wilt programmeren dan zou ik e.e.a. snel opgeven en links laten liggen ;-)

[ Voor 13% gewijzigd door Panzer_V op 20-07-2015 19:45 ]

Ik doe wat ik kan, zodoende blijft er veel liggen.


  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

De macro recorder is natuurlijk ook handig he ..

Iperf


  • Panzer_V
  • Registratie: April 2004
  • Laatst online: 12:15
Absoluut. Maar gaat hiervoor geen uitkomsten bieden. Dit zal een stukje specifieke code moeten worden. Daarnaast genereert de macro recorder standaard zo'n 95% trash code ;-) Dat moet je niet willen :)

Ik doe wat ik kan, zodoende blijft er veel liggen.


  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

Veel trash komt er ook in door onnodige handelingen van de gebruiker imho. maar het neemt je iig vaak wat werk uit de hand. dan blijft er eenvoudige logica over om af te maken
(ik gebruik het niet vaak duzz scheelt het mijn persoonlijk wel wat zoekwerk.)

Iperf


Verwijderd

Topicstarter
Ik heb eigenlijk geen ervaring met VBA, kunnen jullie me iets meer helpen? Ik heb een voorbeeld bestandje toegevoegd. De grafiek hangt dan af van de waarde in cel E1. Hoe moet ik dat doen? Bij voorbaat dank voor jullie hulp :)

  • TimMer
  • Registratie: Februari 2000
  • Niet online
Verwijderd schreef op maandag 20 juli 2015 @ 22:39:
Ik heb eigenlijk geen ervaring met VBA, kunnen jullie me iets meer helpen? Ik heb een voorbeeld bestandje toegevoegd. De grafiek hangt dan af van de waarde in cel E1. Hoe moet ik dat doen? Bij voorbaat dank voor jullie hulp :)
Pseudocode (de lichtblauwe stukken, de rest is echte code):
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub Worksheet_Change(ByVal Target As Range) ' Begin script, draait alleen in het geval er een verandering plaats vindt, alleen voor deze werkmap benaderbaar maken

' Range (bereik) variabele aanmaken voor relevante cellen voor 
Dim KeyCells As Rangeveranderingsdetectie
' String variabele declareren
Dim waarde_E1 as String

' Relevante cellen voor veranderingsdetectie instellen
' Sheets("Input"). kun je weglaten als er maar één worksheet is
Set KeyCells = Sheets("Input").Range("E1")

' Begin veranderingsdetectie
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then

      ' Werkblad genaamd Input selecteren
      Sheets("Input").Select
      ' Waarde uit cel E1 in variabele waarde_E1 plaatsen
      waarde_E1 = Range("E1").Value

      ' Begin handelen aan de hand van de waarde in variabele waarde_E1
      Select Case waarde_E1

            ' Als waarde_E1 "Vloer" is dan...
            Case = Vloer
            <stukje code voor vloer>

            ' Als waarde_E1 "Gevel" is dan...
            Case = Gevel
            <stukje code voor vloer>
            ' Als waarde_E1 "Dak" is dan...
            Case = Dak
            <stukje code voor vloer>

            ' Als waarde_E1 een andere waarde dan eerder genoemde drie is dan...
            Case Else
            <stukje code indien andere waarde dan eerder genoemde drie>

      ' Einde handelen aan de hand van de waarde in variabele waarde_E1
      End Select

' Einde veranderingsdetectie
End If

' Einde script
End Sub


De comments ( ' ) kun je uiteraard achterwege laten, is alleen om jou te laten zien wat wat doet. :)

[ Voor 67% gewijzigd door TimMer op 20-07-2015 23:21 ]


  • SmiGueL
  • Registratie: September 2005
  • Laatst online: 10:21
Zoiets?

https://drive.google.com/...Zd0p0SlE/view?usp=sharing

:)

[ Voor 14% gewijzigd door SmiGueL op 12-08-2015 19:50 ]

Delidded 4770K 4.7GHz @ H220 || Gigabyte Z87X-UD4H || 16GB @ 2400MHz || Gigabyte GTX 760 || 2x128GB Samsung 830 @ RAID-0 & WD 3 TB || Iiyama XB2483HSU-B1 || Synology DS916+ 3x6TB + 120GB SSD Cache || Synology DS213+ 6TB backup


Verwijderd

Topicstarter
Hartelijk dank voor jullie reacties, super!
Wegens vakantie heb ik enige tijd de topic niet kunnen checken 8)7 .
SmiGuel, zou jij het bestandje nog eens willen uploaden?
Bedankt allemaal!

  • SmiGueL
  • Registratie: September 2005
  • Laatst online: 10:21
Verwijderd schreef op woensdag 12 augustus 2015 @ 19:01:
SmiGuel, zou jij het bestandje nog eens willen uploaden?
Bedankt allemaal!
Done! :)

Delidded 4770K 4.7GHz @ H220 || Gigabyte Z87X-UD4H || 16GB @ 2400MHz || Gigabyte GTX 760 || 2x128GB Samsung 830 @ RAID-0 & WD 3 TB || Iiyama XB2483HSU-B1 || Synology DS916+ 3x6TB + 120GB SSD Cache || Synology DS213+ 6TB backup

Pagina: 1