Just nu i M3-nätverket
Gå till innehåll

Nedräknare i arbetsbladen.


MaxRoyale

Rekommendera Poster

nej, det är i worksheet_change du ska ändar det beteendet.

 

Kollen sker i raden

        If Target.Value = True Then
 

Länk till kommentar
Dela på andra webbplatser

  • Svars 71
  • Skapad
  • Senaste svar

Sådär ja. Empty gjorde saken rätt.

 

Nu ska det testas så allt fungerar som det ska. 

 

Stort tack för lektionen o hjälpen så här långt. Bra att du inte bara skrev vad jag skulle skriva utan att få tänka själv lite!

Länk till kommentar
Dela på andra webbplatser

Kan det vara så att nedräkning sker endast 1 gång. för jag får inte igång nedräkningen mer än just engång. 

Länk till kommentar
Dela på andra webbplatser

Skicka dina bok till mig så kan jag ta en titt.

 

Skicka här i tråden eller via pm. Makroaktiverad bok måste du lägga i zip-fil för att eforum ska godta den.

Länk till kommentar
Dela på andra webbplatser

Inga problem att starta nedräkningen flera gånger när jag testar att manuellt radera innehållet i cellerna.

Rullar på precis som jag förväntat mig.

 

Hur töms cellerna?

Kanske inte =Empty är rätt villkor i alla fall? Kanske klassiska

= ""

fungerar bättre?

Länk till kommentar
Dela på andra webbplatser

Inga problem att starta nedräkningen flera gånger när jag testar att manuellt radera innehållet i cellerna.

Rullar på precis som jag förväntat mig.

 

Hur töms cellerna?

Kanske inte =Empty är rätt villkor i alla fall? Kanske klassiska

= ""

fungerar bättre?

Kompilerings fel hänvsar till worksheet_change

Länk till kommentar
Dela på andra webbplatser

mitt fel dubbla ==

dom flesta har varit tomma , när jag gått in och skrivit i cellen då har running kommit fram typ några sekunder och försvunnit .

Länk till kommentar
Dela på andra webbplatser

jag ska ändra till vanliga "", och testar imorgon efter jobbet. så återkommer jag.

Länk till kommentar
Dela på andra webbplatser

Det verkar som om Bet Angel skriver över excel bladet, så fort jag kopplar ihåp bladet med programet så försvinner allt fån cellen som klockan år på.

 

Ska försöka ändra cell så att den hamnar utanför området, då kanske det går. Bara den skriver över hela bladet. Men har sett andra som haft annat skrivet utanför själva området.

Länk till kommentar
Dela på andra webbplatser

Kom på att det är ju just den cellen som ska fyra av klockan!!!

 

Hur ska man lösa det här. Så fort jag kopplar ihop bladet med programmet så fungerar inte makrot. Den finns där men fungerar inte. 

Länk till kommentar
Dela på andra webbplatser

jadu, utan att riktigt veta hur betangel fungerar blir det lite svårt att veta.

Om koden finns kvar på bladet men allt skrivs över, då borde den fungera ändå kan jag tycka. Det är ju samma cell den reagerar på/ska reagera på.

 

Sätt en breakpoint i händelsefunktionen, eller skriva kanske snarare in debug.print på några ställen, och se vad som händer.

 

kan vara svårt att se i just denna funktion då den anropas precis varje gång något skrivs till bladet.

Länk till kommentar
Dela på andra webbplatser

jadu, utan att riktigt veta hur betangel fungerar blir det lite svårt att veta.

Om koden finns kvar på bladet men allt skrivs över, då borde den fungera ändå kan jag tycka. Det är ju samma cell den reagerar på/ska reagera på.

 

Sätt en breakpoint i händelsefunktionen, eller skriva kanske snarare in debug.print på några ställen, och se vad som händer.

 

kan vara svårt att se i just denna funktion då den anropas precis varje gång något skrivs till bladet.

Dum fråga kanske var ser jag om något händer?

Länk till kommentar
Dela på andra webbplatser

Jag ser att koden finns där, knappar jag dit något och tar bort texten så ser jag running men det försvinner direkt.

Länk till kommentar
Dela på andra webbplatser

I VBA-editorn kan du

post-8996-0-40707600-1435738829_thumb.png

sätta breakpoint (röda)

och/eller skriva ut adressen för cellen.

 

men notera att det blir mycket att skriva ut troligen, svårt att se vad som verkligen sker som sagt. 

 

Länk till kommentar
Dela på andra webbplatser

Är på jobbet men tänk om man kopiera cell h1 i makron till AN1 och jag skulle sätta nedräkningen i AN1 i stället. Tror du det skulle fixa problemet.

Länk till kommentar
Dela på andra webbplatser

vet inte hur dina blad ser ut ärligt talat men testa på ett blad.

Aktiverings- och slutcell måste inte vara samma.

Länk till kommentar
Dela på andra webbplatser

Tänkte mer på att om det går lägga in i worksheet_change att den kopiera information från H1 till AN1. Vad är det för kod man får lägga in då?

Länk till kommentar
Dela på andra webbplatser

Om betangel använder en viss del av arbetsbladet och man kopiera cell informationen till området utanför det så kanske man kan gå runt problemet.

Länk till kommentar
Dela på andra webbplatser

Oki la till Range("AN!")=Range("H1") i alla bladen och länka ihopp med betangel. Nu hoppar alla klockor igång med det samma. Och msg box med alla klockor upptagna. Då verkar det fungera eftersom nedräkningen ska starta när cellen är tom. Och då vill alla bladen köra igång en klocka.

 

Nästa problem, jag får inte bort msg boxen utan den låsersig där.

Nu är frågan ska jag göra lika många klockor som blad eller går det att lösa på ett annat sätt. Nu verkar det ju fungera utan att jag sett det men när klockorna hoppar igång då måste det vara som vi satt den till.

Länk till kommentar
Dela på andra webbplatser

Var lade du in den koden?

i Worksheet_change? Så att den varje gång kör den rutinen kopieras cellen till... varvid Worksheet_change aktiveras och kopierar cellen till...

 

ja du förstår vad jag frågar, man måste vara mycket aktsam när man gör något i event-rutinerna.

OCH OM event-rutinen skriver till bladet, kör Application.EnableEvents = False innan så att det nytt event inte fyras av.

Länk till kommentar
Dela på andra webbplatser

Var lade du in den koden?

i Worksheet_change? Så att den varje gång kör den rutinen kopieras cellen till... varvid Worksheet_change aktiveras och kopierar cellen till...

 

ja du förstår vad jag frågar, man måste vara mycket aktsam när man gör något i event-rutinerna.

OCH OM event-rutinen skriver till bladet, kör Application.EnableEvents = False innan så att det nytt event inte fyras av.

Japp det var där jag la den. La till Application.EnableEvents men då funkar inte klockorna. länkade ihop med betangel men klockorna starta inte, men klar syntes i den kopierade cellen( den var tom förut). 

 

Kollade efteråt om klockorna funka men det gör dom inte. Så Application.EnableEvents gör att klockorna inte funkar alls.

 

En fråga var skulle jag lagt in Range("AN1")=Range("H1") någon stans.

Länk till kommentar
Dela på andra webbplatser

Tror jag får backa ett steg.

Tror nog koden måste reagera på någon annan ändring, göra annan koll på bladet. Denna kontroll fungerar uppenbarligen inte.

 

Men när jag tänker efter kanske det går att lösa på enkelt vis.

Är det som så att betangel skriver om hela bladet på en gång, alla celler ändras?

 

Då kan nog denna lilla ändring hjälpa dig:

Private Sub Worksheet_Change(ByVal Target As Range)
   
    If Not Application.Intersect(Me.Range("H1"), Target) Is Nothing Then
        If Me.Range("H1").Value = "" Then
            Modul1.StartClock Me.Range("d1"), Me.Range("h1")
        End If
    End If
End Sub

Ser du ändringarna? vad har jag gjort?

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...