Avatar billede grani Nybegynder
19. februar 2004 - 10:01 Der 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.

Brugeren skal ikke se noget til funktionen.
Avatar billede jkrons Professor
19. februar 2004 - 10:14 #1
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.
Avatar billede bak Seniormester
19. februar 2004 - 10:19 #2
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
Avatar billede jkrons Professor
19. februar 2004 - 10:23 #3
bak-> Fin ide med at bruge en celle til at indeholde målværdien. Det er bare ikek så smart, at det er samme celle, som brugeren taster i :-)
Avatar billede bak Seniormester
19. februar 2004 - 11:45 #4
*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
Avatar billede bak Seniormester
19. februar 2004 - 11:45 #5
forkert igen....

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
Avatar billede jkrons Professor
19. februar 2004 - 12:05 #6
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester