PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAAnropa egen funktionAnropa egen funktion
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2024-02-07 10:34
 

 För en rookie som jag känns det lite läskigt med en funktion som anropar sig själv... är det någon som har möjlighet att titta på denna kodsnutt och se om det är något som kan bli tokigt om programmet är öppet en längre tid... är det något jag behöver täppa till/stänga av?

Det är ett dokument som jag vill ska uppdatera sig automatiskt varje minut. Test3 kontrollerar om ett tidsvärde har infallit och genererar ett meddelande.

Public Sub Uppdateratid()

            AlertTime = Now + TimeValue("00:01:00")

            Blad1.Calculate

            Blad1.Select

            Test3

            Application.OnTime AlertTime, "Blad1.Uppdateratid"

End Sub

 

Tacksam för input från er proffs:)

/H

Nytt inlägg
 2024-02-08 19:25
 
 Ändrad av Gondi  på 2024-02-08 19:31:12

Hej "Agent H",

VBA är ett händelsedrivet språk. När din kod körs och/eller avslutas beor på vilka händelser (events) som triggar koden.

Om koden är "säker eller osäker" beror till stor del på om du har skrivit den själv - och därmed har full kontroll - eller inte.

Om det enbart är du som kommer använda makrot/koden och dokumentet känns det ganska harmlöst, eftersom du själv har skrivit koden. I "värsta fall" kommer du krascha Excel på din egen dator.

Om du däremot kommer distribuera dokumentet och koden till ett flertal medarbetare som inte har "en aning om" vad makron och VBA-kod är kan det uppstå problem.

Jag förutsätter att du vill uppdatera ditt arbetsblad varje minut av en anledning. Det man måste komma ihåg då är att dina kollegors "version" av ditt dokument kommer innehålla gammal data - från senaste gången du sparade det - om vi talar om traditionell fildelning på en server.

Som sagt, säkerheten och tillförlitligheten i koden du skrivit är du ensamt ansvarig för. Som minimun skapa åtminstone en "start" och en "stop" subrutin för koden - samt gärna också en rutin för felhantering (error handling).

Nytt inlägg
 2024-02-28 09:04
 

 Tack snälla för svar. Lyckades hitta en supersmart lösning då jag lagt in en enkel Query i arbetsbladet och där kan man ställa in att den ska uppdatera sig varje minut. Funkar klockrent och känns inte som att det finns någon risk involverad...

Nytt inlägg
 2024-02-28 10:30
 
 Ändrad av anonymous  på 2024-02-28 10:35:19

Om Queryn av någon anledning strular kan du även kolla:

 Application.OnTime

Application.OnTime method (Excel) | Microsoft Learn

 

Exempel på en klocka som updpateras en gång i sekunden (now+TimeValue("00:00:01")) och avslutas efter 30 sekunder (now+TimeValue("00:00:30"))

 

************************************************ 

' tid för avslut. deklareras som global variabel (utanför någotn SUB) så att du kan slut-tiden till nästa SUB på enklaste möjliga sätt. 

Dim sluta As Variant

'En separat Start-SUB, bara för att kunna "låsa" en sluttid. Du skulle lika gärna kunna låsa den manuellt till klockan 17:00:00 eller liknande.

' Sen anroppas Makro3 som faktiskt kör OnTime:

Sub starta_skiten()

  sluta = Now + TimeValue("00:00:30")

  Makro3

End Sub

 

' Och här är själva ON-time funktionen (som anroppar sig själv..)  OBS att namnet skrivs som en textsträntg (inom citattecken ""i)

Sub Makro3()

Range("a1").Value = Now

  Application.OnTime Now + TimeValue("00:00:01"), "Makro3", sluta

End Sub

 ************************************************ 

Du kan naturligtvis anroppa en helt annan funktion där du gör en massa roligt och sedan går tillbaks till makro3 (nej, jag orkade inte hitta på ett namn)

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAAnropa egen funktionAnropa egen funktion

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter