Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  10 559
Hei!

Jeg har et Excel-ark med forhåndsutfylte verdier i ulike celler. Jeg ønsker å legge til følgende funksjon: Jeg trykker på cellene med verdier, huker av en boks i cellen e.l. og celleverdien legges automatisk til en en søyle i samme regneark. Rekkefølgen på verdiene som legges til i søylen må tåle å være tilfeldig.


Er dette i det hele tatt mulig å få til?
Pip-Boy 3000
Grimdoc's Avatar
Der burde i alle fall være mulig ved å lage en makro.
LEIK
Pope's Avatar
Trådstarter
Det er meget mulig, men jeg trenger litt drahjelp. Skulle ønske dette var Python :/
Neutral Good
Mith's Avatar
Jeg skjønner ikke problemstillingen, er ikke det her bare vanlig måte å lage søylediagram på?
Queen of Blades
Jonta's Avatar
Crew
Hvordan ville du løst det i Python da?

En tegning hadde vært kjekt

Som jeg forstår det vil du ha noe slikt:

Kode

| Frukt | #Henriette | Kryss Henriette | #Birgit | Kryss Birgit |
|-------+------------+-----------------+---------+--------------|
| Eple  |         15 | X               |       6 | X            |
| Mango |       3000 |                 |      90 | X            |
| Banan |          2 | X               |       1 | X            |


Søylediagram:

Eplesøyle: 21 =======================================
Mangosøyle: 90 ================================================
Banansøyle: 3 ======
Jeg ville kopiert verdien fra cellen du trykker på til en egen liste, og deretter brukt denne listen til å generere søylene dine.

https://excel.tips.net/T003070_Mouse...nt_in_VBA.html
LEIK
Pope's Avatar
Trådstarter
Nei, jeg har nok vært litt for vag her ja.
Dette er det jeg ønsker:



Det må ikke nødvendigvis være avhukningsbokser og knapper, men dette har jeg sett på som en mulighet. Rekkefølgen på verdiene i listen spiller ingen rolle. Om jeg fjerner haken i en boks etter at verdier er overført til Ark2, og deretter trykker på knappen igjen bør denne verdien fjernes fra listen.
Sist endret av Pope; 1 uke siden kl. 21:59. Grunn: Fikset bilde
▼ ... over en uke senere ... ▼
LEIK
Pope's Avatar
Trådstarter
Nytt spørsmål:

Jeg ønsker å få fire celler til å oppføre seg som valgknapper (radio buttons).
Når en verdi settes i en celle E9 skal celle F9, G9 H9 tømmes. Følgende kode fungerer greit til dette:

Kode

If Target.Address = "$E$9" Then [F9,G9,H9].ClearContents
If Target.Address = "$F$9" Then [E9,G9,H9].ClearContents
If Target.Address = "$G$9" Then [E9,F9,H9].ClearContents
If Target.Address = "$H$9" Then [E9,F9,G9].ClearContents
Utfordringen er at jeg har 65 rader med spørsmål som har fire svaralternativer (E9:H74), så jeg tenker at en for-løkke kunne gjort jobben mye mer effektivt, men litt usikker på hvordan jeg gjør dette med VBA. Noen som har mulighet til å hjelpe?
I see you...
NAPse's Avatar
Har du forsøkt å google "for loop VBA"?
Hvis du ser for deg hvordan det kan løses med en løkke vil det jo være fornuftig å undersøke om/hvordan løkker virker i VBA.

Kode

Dim i As Integer

For i = 1 To 6
    Cells(i, 1).Value = 100
Next i
LEIK
Pope's Avatar
Trådstarter
Googlet og testet i flere timer før jeg spurte her.

Men takk likevel. Skal se videre på det i morgen
I see you...
NAPse's Avatar
Jeg er litt usikker på hva du er ute etter.
Dersom jeg ikke er helt på viddene er du ute etter noe slikt(?):


Dette er hvertfall løst med dette VBA-scriptet som er slengt sammen litt tankeløst. Det kan nok løses mye bedre.

Kode

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

' Cellene vi ser etter oppdatering av
    Set KeyCells = Range("E9:H47")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

'     Display a message when one of the designated cells has been changed.
        
'       Ved oppdatering av kol. E
        If Target.Column = 5 And Target.Value <> "" Then
            Cells(Target.Row, Target.Column + 1).ClearContents
            Cells(Target.Row, Target.Column + 2).ClearContents
            Cells(Target.Row, Target.Column + 3).ClearContents
            
'        Ved oppdatering av kol. F
        ElseIf Target.Column = 6 And Target.Value <> "" Then
            Cells(Target.Row, Target.Column - 1).ClearContents
            Cells(Target.Row, Target.Column + 1).ClearContents
            Cells(Target.Row, Target.Column + 2).ClearContents
            
'       Ved oppdatering av kol. G
        ElseIf Target.Column = 7 And Target.Value <> "" Then
            Cells(Target.Row, Target.Column - 2).ClearContents
            Cells(Target.Row, Target.Column - 1).ClearContents
            Cells(Target.Row, Target.Column + 1).ClearContents
            
'       Ved oppdatering av kol. H
        ElseIf Target.Column = 8 And Target.Value <> "" Then
            Cells(Target.Row, Target.Column - 1).ClearContents
            Cells(Target.Row, Target.Column - 2).ClearContents
            Cells(Target.Row, Target.Column - 3).ClearContents
        End If
    End If
End Sub
Modifisert fra dette eksempelet.