Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1020to1024
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code spielt Dauerton

Code spielt Dauerton
03.11.2008 11:49:18
Susanne

Hallo,
habe hier eine Code, der u.a. bei Änderung der Zahl in Zelle D2 eine Wave abspielen soll "ton",sofern die Zahl über 0.0001 liegt.
Spielt er auch, allerdings alle 5 Sekunden, ob sich der Wert in D2 geändert hat oder nicht. Wo liegt der Fehler?
Der Entscheidende Codeteil ist hier mit
***NEU**
XXXX
***Neu***
eingegrenzt.
Gruß
Susanne
Dim myArray(700)
Dim myValue
Dim bolTimer As Boolean

Sub Show_change()
On Error Resume Next
For i = 7 To 600
If Range("D" & i).Value  myArray(i - 7) Then
If Not (Range("D" & i).Value = 0) And Not (Range("D" & i).Value = Chr(133)) Then
Application.ScreenUpdating = False
Rows(i).Copy
Rows(2).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Range("D" & i).Select
Application.ScreenUpdating = True
End If
myArray(i - 7) = Range("D" & i)
End If
Next i
'**** NEU ****
If Range("D2").Value  myValue Then
myValue = Range("D2").Value
If myValue > 0.001 Then Call sndPlaySound32("c:\ton", 1)
End If
'**** NEU ****
Call Timer
End Sub



Sub Timer()
Dim NextTime As Date
If Not bolTimer Then Exit Sub
NextTime = Now + TimeValue("00:00:05")
Application.OnTime NextTime, "Tabelle2.Show_Change"
End Sub



Sub initialize_array()
For i = 7 To 800
myArray(i - 7) = Range("D" & i)
Next i
End Sub



Sub Start_Ueberwachung()
On Error Resume Next
initialize_array
bolTimer = True
Timer
End Sub



Sub Stopp_Ueberwachung()
bolTimer = False
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code spielt Dauerton
03.11.2008 12:27:39
Hajo_Zi
Hallo Susanne,
in Deinem Code sagt Du er soll immer den Sound abspielen, sobald der Wert unter der Grenze liegt.
Ich würde mir noch eine Variable schaffen (boolean) die ich verämdere sobald der Sound abgespielt wurde und wieder veränder sobald der Sound nicht abgespielt wurde. Diese Variable wurde ich als entscheidungskriterim für das abspielen benutzen.

AW: Code spielt Dauerton
03.11.2008 12:46:00
Susanne
Danke dir. Hast du Vorschlag für einen Rookie, wie das in dem Beispiel geht?
Gruß Susanne
AW: Code spielt Dauerton
03.11.2008 13:03:00
Hajo_Zi
Hallo Susanne,

Option Explicit
Dim myArray(700)
Dim myValue
Dim bolTimer As Boolean
Dim BoSpiel As Boolean
Dim I As Long
Dim Nextime As Date
Sub Show_change()
On Error Resume Next
For I = 7 To 600
If Range("D" & I).Value  myArray(I - 7) Then
If Not (Range("D" & I).Value = 0) And Not (Range("D" & I).Value = Chr(133)) Then
Application.ScreenUpdating = False
Rows(I).Copy
Rows(2).PasteSpecial xlPasteValues
Range("D" & I).Select
Application.ScreenUpdating = True
End If
myArray(I - 7) = Range("D" & I)
End If
Next I
'**** NEU ****
If Range("D2").Value  myValue And BoSpiel = False Then
myValue = Range("D2").Value
If myValue > 0.001 And BoSpiel = False Then
Call sndPlaySound32("c:\ton", 1)
BoSpiel = True
Else
BoSpiel = False
End If
End If
'**** NEU ****
Call Timer
Application.CutCopyMode = False
End Sub
Sub Timer()
Dim Nexttime As Date
If Not bolTimer Then Exit Sub
Nexttime = Now + TimeValue("00:00:05")
Application.OnTime Nexttime, "Tabelle2.Show_Change"
End Sub
Sub initialize_array()
For I = 7 To 800
myArray(I - 7) = Range("D" & I)
Next I
End Sub
Sub Start_Ueberwachung()
On Error Resume Next
initialize_array
bolTimer = True
Timer
End Sub
Sub Stopp_Ueberwachung()
bolTimer = False
End Sub
Sub Ende()      ' Abschalten Blinken
On Error Resume Next
'   Prozedur OnTime für Blinken abschalten
Application.OnTime EarliestTime:=Nextime, Procedure:="timer", Schedule:=False
End Sub


Gruß Hajo

Anzeige
AW: Code spielt Dauerton
03.11.2008 14:29:59
Susanne
Danke, Hajo, scheint in die richtige Richtung zu gehen.
Ich starte das Macro Überwachung und sobald sich in D2 der Wert ändert und über 0 ist, ertönt der Ton.
1 mal, so wie es sein sollte. Wenn sich danach der Wert ändert, aber über 0 bleibt, kommt nichts mehr.
Angezeigt werden soll ja jeder Änderung mit jeweils 1 Ton.
Fehlt da noch was oder mach ich etwas falsch?
Gruß
Susanne
AW: Code spielt Dauerton
03.11.2008 14:39:32
Hajo_Zi
Hallo Susanne,
ich hatte es so interpretiert das der Ton nur kommen soll, wenn kleiner als Grenzwert. Das ist mir jetzt zu aufwendig. Für so umfangreiche Testung habe ich keine Zeit.
Gruß Hajo
Anzeige
AW: Code spielt Dauerton
03.11.2008 18:47:00
Susanne
Danke auf jeden Fall. Muß ich mal weitersuchen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige