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.
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.