19. februar 2004 - 10:01Der er
5 kommentarer og 1 løsning
Makro til målsøgning (eller automatik)
Jeg har et stort regneark som jeg vil have at regne baglæns med f.eks. målsøgning. Hvis brugeren angiver en værdi i en celle skal regnearket finde værdien ved ændring af en anden celle.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Nu er du ikke særligt speicfik, men her er et forslag, som du selvfølgelig selv skal tilpasse. I eksemplet har heg to tal i A1 og A2 samt en formel i A3. Når brugeren taster et tal i A2, udføres målsøgning på formlen i A3, med ændring af celleværdien i A1. På denne mpde bliver resulatet i A3 altid det samme uanset hvad, der tastes i A2.
Koden skal placeres i arkets kodemodul.
Private Sub Worksheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("A2")) Then Range("A3").GoalSeek Goal:=10, ChangingCell:=Range("A1") End If End Sub
Hvis det ikke er det, du mener må du uddybe lidt nærmere.
Nu slog jkrons mig jo med flere længder :-), men dette er i princippet det samme bortset fra at jkrons bruger en fast værdi (10) og jeg bruger en cellevariabel.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A2]) Is Nothing Then [A3].GoalSeek Goal:=[A2].Value, ChangingCell:=[A1] End If End Sub
*grin* det var faktisk heller ikke mit udgangpkt. Jeg havde forestillet mig at resultatet af beregningerne står i A3 og den celle der skal tastes i er A6, cellen der skal ændres er A1, men jeg foretog en (lidt for)hurtigt tilpasning til dit eksempel :-)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A2]) Is Nothing Then [A3].GoalSeek Goal:=[A6].Value, ChangingCell:=[A1] End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A6]) Is Nothing Then [A3].GoalSeek Goal:=[A6].Value, ChangingCell:=[A1] End If End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.