Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketAuto aktivering af makro ved en bestemt celleværdi

 Besvar Besvar Side  12>
Forfatter
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Emne: Auto aktivering af makro ved en bestemt celleværdi
    Sendt: 10.Aug.2016 kl. 18:55
Men tænker, hvordan låser man tid (Kl.:) i en celle. Det skal forstås således at at hvis der i "A1" er formlen =NU() - (celleformat til kl) men når der skrives noget i en celle ændres tiden jo heletiden, hvordan undgår man at tiden ændres... ?

/Per
Til top



Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 10.Aug.2016 kl. 18:52
Hejsa..... Smile

Vil bare lige fortælle at jeg har fået timer til at funger..... igen tusind tak for jeres hjælp.

/Per
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5418
Direkte link til dette indlæg Sendt: 04.Aug.2016 kl. 09:07
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 04.Aug.2016 kl. 09:01
Hej Per
 
Prøv at se på nettet, hvor der findes mange gode hints.
 
eks. denne:
 
 
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 04.Aug.2016 kl. 07:39
Jeg lavede blot en macro der kunne kopier "A10" til "A1", derved aktiver "A1" sig selv Smile

Men ved du evt. hvordan man laver en macro der køre på tid. Det skal forstås sådan at den selv trækker en macro evt. for hver 15 min ?

/Per
Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 03.Aug.2016 kl. 14:00
Det var så lidt Per, glad for at jeg kunne hjælpe.
Hvis jeg må være så fræk at spørge, hvad gjorde du med det sidste ? :-)
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 03.Aug.2016 kl. 13:22
Hej Peter.

Har selv fundet løsning på det sidste spørgsmål... men tusind tak for din hjælp, den har været guld værd...

TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk

/Per
Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 03.Aug.2016 kl. 10:11
Hej Per
 
Godt det virkede :-)
 
Det andet ved jeg ikke lige, men ser lige på det når jeg får tid en dag :-)
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 03.Aug.2016 kl. 09:45
Hej Peter.

Jeps, det godt se at det virker sgu Smile... men tænkte på om man også kan ligge den som en marco, således at jeg blot kan bruge "Appolaction.run" for at starte hele processen, men ved ikke om man kan det.

/Per
Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 02.Aug.2016 kl. 19:40
Hej Per
 
Nu kan jeg se hvad du mener :-)
 
Du skal bare ændre 1 til 10 (markeret med rødt)
 
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim y As Variant
  Dim x As Integer
  Dim macro As String
 
  If Target.Address = "$A$10" Then       ' Kigger kun på ændringer i celle A10
    y = ActiveSheet.Range("A1").Value   'Henter værdi fra A1 som Variant
   
    If Not IsNumeric(y) Then                  'Checker om værdien er et tal
        Exit Sub                                      'Hvis værdien ikke er et tal, gå til slut sub
    End If
   
    x = ActiveSheet.Range("A1").Value   'Henter værdi fra A1 som Integer
    If x < 1 Or x > 3 Then                    'Checker om værdien ligger mellem 1 og 21
        Exit Sub                                       'Hvis værdien ikke ligger mellem 1 og 21, gå til slut sub
    End If
 
    macro = "macro" & x                      'Navngiver macro med det nummer der er valgt F.eks. macro15
    Application.Run (macro)                  'Kører macro15 som ligger i Modul1
End If
End Sub
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 02.Aug.2016 kl. 17:43
Hej Peter.

Det er korrekt at "A1" hedder "=A10". Hvis jeg så skriver 1 i "A10" så kommer der også til at stå 1 i "A1". Men "A1" starter ikke "macro1" som jeg gerne ville have den til.... Hvad gør jeg forkert og har prøvet at med "=A10*1", der sker stadig intet.... desværre.

Er meget taknemlig for den hjælp jeg allerede har fået af dig.... Tongue, håber du har en ide til den sidste del.

Mvh.

Per Hansen
Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 02.Aug.2016 kl. 15:42
Hej Per
 
Som jeg ser det, aktiverer den også den macro A1 refererer til, når du skriver noget i A10.
Jeg lavde en simpel formel i A1 "=A10*1" også her kaldte den, den pågældende macro.
 
Hvis jeg forstår dig ret, så har du en formel i A1, hvor værdien fra A10 bruges ?
Ret mig, hvis der er noget jeg har misforstået.
 
 
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 02.Aug.2016 kl. 14:50
Hejsa... TongueTongueTongueTongueTongueTongueTongueTongueTongueTongueTongueTongueTongueTongue

Det virker bare super.... Taaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaak.

Nu mangler jeg blot det sidste og så virker mit excelark som det skal, så håber også du kan hjælpe mig der ligeså.

Det er således at cellen "A1" er reelt set en beregnings celle, hvor den henter en værdi i "A10" og hvis værdien i "A1" mellem 1 og 3, så skulle den gerne selv aktiver den macro som værdien i "A1" referer til.

Håber virkelige du kan hjælpe mig.


/Per Smile
Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 31.Jul.2016 kl. 16:52
Hej BlackBox
 
Den kigger på ændringer i hele arket og derfor vil den blive ved med at køre.
 
Jeg har lagt en begrænsning ind, så den kun reagerer på ændring i celle A1.
 
Prøv at se om det virker Smile
 
/uploads/856/BlackBox1_2.xlsm" rel="nofollow">uploads/856/BlackBox1_2.xlsm
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 31.Jul.2016 kl. 13:20
Hejsa igen.

Her er den fil du var så venlig at sende mig. Hvis der skrives 1, 2 eller  3 i "A1" træker den godt nok de macro´er som er tilknyttet dertil, men den går i fejl, kan du evt se hvorfor ?

Mvh.

Per

SmileSmileSmileSmileSmileSmileSmileSmileSmileSmile


uploads/1734/BlackBox1_1.xlsm
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 31.Jul.2016 kl. 08:43
Hejsa...

 

Sender det gerne.... Smile.

 

Det du har sendt virker super, men hvordan får jeg den til at trække en macro frem for at der kommer en tekstbox frem ?. Hvis jeg fjerner den linie i macro1 hvor der står (MsgBox "A1 er lig med 1" 'Udskift dette med den macro du vil køre.) og i stedet for tilføjer

Range("D1").Select

    Selection.Copy

    Range("J1").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

        :=False, Transpose:=False

    Application.CutCopyMode = False

    ActiveWorkbook.Save

    Range("A1").Select

 

Så kopier den godt nok celle D1 til J1 men den køre i loop og efter kort tid kommer der denne fejl  

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

  Dim y As Variant

  Dim x As Integer

  Dim macro As String

      y = ActiveSheet.Range("A1").Value   'Henter værdi fra A1 som Variant

        If Not IsNumeric(y) Then                  'Checker om værdien er et tal

        Exit Sub                                      'Hvis værdien ikke er et tal, gå til slut sub

    End If

    x = ActiveSheet.Range("A1").Value   'Henter værdi fra A1 som Integer

    If x < 1 Or x > 21 Then                    'Checker om værdien ligger mellem 1 og 21

        Exit Sub                                       'Hvis værdien ikke ligger mellem 1 og 21, gå til slut sub

    End If

    macro = "macro" & x                      'Navngiver macro med det nummer der er valgt F.eks. macro15

    Application.Run (macro)                  'Kører macro15 som ligger i Modul1= (Denne linje bliver gul)

 

End Sub


Håber dette giver lidt mening.... WinkWinkWink.

Mvh. den meget fortvivlet...



Til top
zpjj Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 08.Maj.2013
Land: Danmark
Status: Offline
Point: 179
Direkte link til dette indlæg Sendt: 29.Jul.2016 kl. 15:00
Hej BlackBox
Jeg tror du skal vedhæfte dit ark, så vi har noget at arbejde med :-)
 
Med venlig hilsen
Peter Juul

Jeg bruger EXCEL 2010
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 29.Jul.2016 kl. 12:40
Hejsa...

Ja, det ark du har sendt virker fint.... men når jeg vil have den til at virke med de macro´er jeg har lavet, så kan jeg desværre ikke få det til at virke.... CryCryCry.

Jeg har 21 macro´er som i princippet gør det samme, altså kopier nogle celler. Men de celler som der skal kopieres er forskellige fra hvilke værdi der står i A1. 

Det skal forstås således at, hvis A1 = 1 skal den trække macro1 (som kopier nogle celler over i et andet ark). Hvis A1 = 2 skal den trække macro2 (som kopier nogle andre celler over i et andet ark). Det samme igen hvis A1 =3 osv..... helt frem til 21.

Jeg har højest snarsynlig misforstået noget da macro ikke er min stærke side, men dammmm hvor ville jeg gerne lære at bruge det SmileTongueEmbarrassed 
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5418
Direkte link til dette indlæg Sendt: 29.Jul.2016 kl. 09:00
Hva' skriver du helt præcist?

Jeg tror, du har misforstået, hvad der skal skrives i Application.Run...

Det eksempel, jeg har uploadet virker, så, hvad ændrer du???
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Blackbox Se dropdown
Forum Begynder
Forum Begynder


Medlem: 08.Jul.2016
Land: Danmark
Status: Offline
Point: 14
Direkte link til dette indlæg Sendt: 29.Jul.2016 kl. 08:58
Hejsa....

Jeg kan bare ikke få det til at virke.... CryCryCry.

Når jeg i macro skriver den macro den skal trække så udføre den godt nok opgaven, men melder også fejl i "Application.Run "macro"

Jeg forstår det bare ikke... eller måske indsætter jeg den macro son den skal trække forkert... HJÆLP.

Mvh.

Per
Til top
 Besvar Besvar Side  12>

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk