Moderatori: Anthony47, Flash30005
Public StopNow As Boolean
StopNow=False
DoEvents
If StopNow then Exit Sub
Private Sub CommandButton1_Click()
StopNow=True
End Sub
Si, devi continuare il debug..un'altro metodo????
Sub cambia_colore()
On Error Resume Next
Static lamp As Boolean
Dim var_t As Date
DELTAt = "00:00:01"
CELLA = "A1"
FOGLIO = "Riordino"
For I = 3 To 100
If Cells(I, 5) <> "" And Cells(I, 10).Value >= 0 Then
Select Case lamp
Case True
Sheets(FOGLIO).Cells(I, 5).Interior.Color = RGB(255, 215, 0)
Sheets(FOGLIO).Cells(I, 1).Interior.Color = RGB(255, 215, 0)
Sheets(FOGLIO).Cells(I, 6).Interior.Color = RGB(255, 215, 0)
Case Else
Sheets(FOGLIO).Cells(I, 5).Interior.Color = RGB(186, 85, 211)
Sheets(FOGLIO).Cells(I, 1).Interior.Color = RGB(186, 85, 211)
Sheets(FOGLIO).Cells(I, 6).Interior.Color = RGB(186, 85, 211)
End Select
Else
Cells(I, 5).Interior.ColorIndex = xlNone 'Nessun colore
Cells(I, 6).Interior.ColorIndex = xlNone
Cells(I, 1).Interior.ColorIndex = xlNone
End If
Next
FLASH = Not (lamp)
Application.OnTime Now + TimeValue(var_t), "cambia_colore"
On Error GoTo 0
Se hai messo il break dove ti ho detto e (dopo aver premuto il pulsante, VERO?) non succede niente significa che la macro di evento CommandButton1_Click non parte: o e' associata male al bottone (molto probabile) o non funziona il tuo vba (molto meno probabile)ho fatto come dici tu ma non succede nulla.....
If Not StopNow then Application.OnTime Now + TimeValue(var_t), "cambia_colore"
If lamp=true Or Thisworkbook.Sheets("NomeFoglio").Range("M1")=0 then
Application.OnTime Now + TimeValue(var_t), "cambia_colore"
Else Thisworkbook.Sheets("NomeFoglio").Range("M1")=0
End If
Sub Pausa()
StopNow = False
Application.ScreenUpdating = False
ActiveSheet.Shapes.Range(Array("RettPausa")).Select
Selection.ShapeRange.ZOrder msoSendToBack
abbassato1 = 0
abbassato2 = 0
Worksheets("menu").Range("P4") = 1
riprendi:
If Worksheets("menu").Range("P4") = 0 Then 'impedisce di continuare il ciclo se stop lo ha impostato su 0
Exit Sub
End If
DoEvents
If StopNow Then Exit Sub
lettore = Worksheets("menu").Range("P3") 'legge quale lettore deve partire
If lettore = 1 Then
Set myLett = Foglio1.audio1
Set myLettS = Foglio1.audio2
Else: Set myLett = Foglio1.audio2
Set myLettS = Foglio1.audio1
End If
QuantiBrani = Worksheets("playlistPausa").Cells(Rows.Count, "C").End(xlUp).Row - 1
Brano = Worksheets("menu").Range("P2") + 1
Titolo = Worksheets("playlistPausa").Cells(Brano, 3)
vol = Worksheets("playlistPausa").Cells(Brano, 8)
Iniz = Worksheets("playlistPausa").Cells(Brano, 4)
fine = Worksheets("playlistPausa").Cells(Brano, 7)
Perc = ThisWorkbook.Path & "\" & Worksheets("playlistPausa").Cells(Brano, 2) & "\" 'percorso del file"
FileN = Perc & Titolo 'nome del file
myLett.URL = FileN
myLett.settings.volume = vol
myLett.Controls.currentPosition = Iniz
myLett.Controls.Play
Application.ScreenUpdating = True
ActiveSheet.Shapes.Range(Array("RettPausaEsec")).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Titolo '
Range("K1").Select
OraInizio = Timer
i = 0.5 'abbassa il volume del lettore inattivo
Do While i > -0.1
OraAttuale = Timer
Do While Timer < OraAttuale + 5
DoEvents
Loop
myLettS.settings.volume = abbassato1 * i
i = i - 0.1
Loop
myLettS.Controls.stop 'ferma del tutto il lettore inattivo
Do While Timer < OraInizio + 60 'se questo brano è passato per almeno 1 min predispone per nuovo brano se interrotto riprenderà con lo stesso brano
If Worksheets("menu").Range("P4") = 0 Then 'impedisce di continuare il ciclo se stop lo ha impostato su 0
Exit Sub
End If
DoEvents
Loop
nuovoBrano = (Brano - 1) Mod QuantiBrani + 1 'ricomincia da 1 dopo 60
Worksheets("menu").Range("P3") = Abs(lettore - 3) 'prepara l'altro lettore e memorizza volume attuale
ActiveWorkbook.Save
Worksheets("menu").Range("P2") = nuovoBrano
Application.ScreenUpdating = True
TempoFine = fine - 20 - Iniz
Do While Timer < OraInizio + TempoFine
DoEvents
Loop
i = 0.9 'sfuma da volume pieno a metà
Do While i > 0.6
OraAttuale = Timer
Do While Timer < OraAttuale + 1
DoEvents
Loop
myLett.settings.volume = vol * i
i = i - 0.1
Loop
abbassato1 = myLett.settings.volume
GoTo riprendi
End Sub
Sub ChiudiPausa()
StopNow = True
Application.ScreenUpdating = True
ActiveSheet.Shapes.Range(Array("RettPausaEsec")).Select
Selection.ShapeRange.ZOrder msoSendToBack
volumeAtt1 = Foglio1.audio1.settings.volume
volumeAtt2 = Foglio1.audio2.settings.volume
Worksheets("menu").Range("P4") = 0 'impedisce che il ciclo riprodPausa riprenda
i = 0.9
Do While i > -0.1
OraAttuale = Timer
Do While Timer < OraAttuale + 0.3
DoEvents
Loop
Foglio1.audio1.settings.volume = volumeAtt1 * i
Foglio1.audio2.settings.volume = volumeAtt2 * i
i = i - 0.1
Loop
Foglio1.audio1.Controls.stop
Foglio1.audio2.Controls.stop
' Application.ScreenUpdating = False
Range("K1").Select
Foglio1.audio1.URL = ""
Foglio1.audio2.URL = ""
End Sub
Worksheets("menu").Range("P4") = 1
riprendi:
If Worksheets("menu").Range("P4") = 0 Then 'impedisce di continuare il ciclo se stop lo ha impostato su 0
Exit Sub
End If
Torna a Applicazioni Office Windows
Macro modifica date scelta periodo Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 11 |
Supporto per sviluppo macro VBA Ordinare per data Autore: Carletto Ribolla |
Forum: Applicazioni Office Windows Risposte: 3 |
Macro per aprire file salvato su sharepoint Onedrive Autore: marcopont |
Forum: Applicazioni Office Windows Risposte: 2 |
Come interrompere macro sndPlaySound Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Nessuno e 37 ospiti