Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

problem mit Formel wegen sound

Betrifft: problem mit Formel wegen sound von: Dennis Kaulen
Geschrieben am: 26.08.2004 08:36:13

Hallo Leute,

hab das hier schon einmal gepostet, aber bisher nur zur Antwort gekriegt, das es mit der Intersect-Methode gehen könnte. Nur das sagt mir gar nix.
ich möchte, dass je nachdem, was in die Zellen eingegeben wird, der dazugehörige Sound abgespielt wird.
z.B.: ich gebe in Zelle A1 eine 1 ein, dann soll 1.wav abgespielt werden.
ich gebe in Zelle A1 eine 2 ein, dann soll 2.wav abgespielt werden, usw. und das ganze mit knapp 200 Zahlen.

Dieses hab ich im Modul eingefügt:

Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

und das in der Tabelle:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Adr$
    Adr = Target.Address
    If Adr <> "$B$4" Then Exit Sub
    Call musik
End Sub


Sub musik()
Dim num
num = Range("B4")
On Error GoTo FehlerRoutine
Call sndPlaySound32("C:\Programme\EZ\dartsounds\Sounds\" & num & ".wav", 1)
End
FehlerRoutine:
MsgBox "Bitte Pfad und Namen der WAV-Datei anpassen!"
End Sub



das funktioniert auch ohne Fehler, aber wie muss das nun aussehen, wenn ich den Sound haben will, wenn ich etwas in den Zellen B4:B18, B27:B41, G4:G18, G27:G41, L4:L18, L27:L41, usw. eingebe.
Hab zwar schon rumprobiert, krieg es aber nicht hin.

Hoffe auf Eure Hilfe, MfG, Dennis
  


Betrifft: AW: problem mit Formel wegen sound von: Wolfgang
Geschrieben am: 26.08.2004 08:45:05

Hi Denis,

Hatte mal ein ähnliches Problem und habs so gelöst:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bereich1 As Range
Dim bereich2 As Range
Set bereich1 = Range("C:C")
Set bereich2 = Range("D:D")
If Not Intersect(Target, bereich1) Is Nothing Then
.......deine Anweisung........

If Not Intersect(Target, bereich2) Is Nothing Then
......deine Anweisung......

End Sub


ich denke das Prinzip ist klar geworden.

Gruß
Wolfgang


  


Betrifft: AW: problem mit Formel wegen sound von: Dennis Kaulen
Geschrieben am: 26.08.2004 10:28:27

Hallo Wolfgang,

ich kenne mich mit VBA leider so gut wie gar nicht aus, ich weiss man gerade, wo ich diese Formeln einbauen muss.
Könntest du mir Formel bitte so schreiben, mit den Zellen, die ich geschhrieben habe?

MfG, Dennis


  


Betrifft: AW: problem mit Formel wegen sound von: Wolfgang
Geschrieben am: 26.08.2004 11:37:26

Hi Dennis,

Hier der angepasste Code...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bereich1 As Range
Dim bereich2 As Range
Dim bs
bs = 2
Do Until bs = 257
Set bereich1 = Range(Cells(4, bs), Cells(18, bs))
Set bereich2 = Range(Cells(27, bs), Cells(41, bs))
If Not Intersect(Target, bereich1) Is Nothing Then
Call musik
GoTo ende
End If
If Not Intersect(Target, bereich2) Is Nothing Then
Call musik
GoTo ende
End If
bs = bs + 5
Loop
ende:
End Sub



Schönen Tag noch...

Gruß aus Bayern
Wolfgang


  


Betrifft: AW: problem mit Formel wegen sound von: Dennis Kaulen
Geschrieben am: 26.08.2004 14:05:36

danke Wolfgang,
könntest du mir die musik formel bitte noch anpassen?
Nämlich da, wo jetzt "B4" steht das muss glaube ich auch noch geändert werden, da im Moment immer nur die zu B4 zugehörige Datei abgespielt wird.

Sub musik()
Dim num
num = Range("B4")

    On Error GoTo FehlerRoutine
   Call sndPlaySound32("C:\Programme\EZ\dartsounds\Sounds\" & num & ".wav", 1)
    End
FehlerRoutine:
  MsgBox "Bitte Pfad und Namen der WAV-Datei anpassen!"
End Sub


MfG, Dennis


  


Betrifft: AW: problem mit Formel wegen sound von: Wolfgang
Geschrieben am: 26.08.2004 14:40:49

Hi dennis,

folgendes dürfte funktionieren:

Sub musik()
Dim num
num = ActiveCell.Value

    On Error GoTo FehlerRoutine
   Call sndPlaySound32("C:\Programme\EZ\dartsounds\Sounds\" & num & ".wav", 1)
    End
FehlerRoutine:
  MsgBox "Bitte Pfad und Namen der WAV-Datei anpassen!"
End Sub



  


Betrifft: AW: problem mit Formel wegen sound von: Dennis Kaulen
Geschrieben am: 26.08.2004 16:52:23

Hallo Wolfgang,
das funktioniert auch noch nicht so richtig.
Es soll so sein, das der dazugehörige Sound dann abgespielt wird, wenn ich die Zahl eingebe und Enter oder Pfeil nach unten Taste drücke.

So wie es jetzt ist wird nur dann ein Sound wiedergegeben, wenn in der nächsten Zelle schon etwas drinsteht.
Aber da die Zellen der Reihe nach ausgefüllt werden kann im Moment der Eingabe noch nix drinstehen.
Also der dazugehörige Sound soll abgespielt werden, wenn ich eine Zahl eingebe.

MfG, Dennis


  


Betrifft: AW: problem mit Formel wegen sound von: Wolfgang
Geschrieben am: 27.08.2004 08:12:17

Hi Dennis,

also ich habs jetzt so gemacht, dass ich alles in einen Ablauf zusammen gefügt. Das ist etwas praktischer weil ich den Wert der Zelle relativ einfach abfragen kann:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bereich1 As Range
Dim bereich2 As Range
Dim bs
num = Target
bs = 2
Do Until bs = 257
Set bereich1 = Range(Cells(4, bs), Cells(18, bs))
Set bereich2 = Range(Cells(27, bs), Cells(41, bs))
If Not Intersect(Target, bereich1) Is Nothing Then
    On Error GoTo FehlerRoutine
    Call sndPlaySound32("C:\Programme\EZ\dartsounds\Sounds\" & num & ".wav", 1)
    End
GoTo ende
End If
If Not Intersect(Target, bereich2) Is Nothing Then
    On Error GoTo FehlerRoutine
    Call sndPlaySound32("C:\Programme\EZ\dartsounds\Sounds\" & num & ".wav", 1)
    End
GoTo ende
End If
bs = bs + 5
Loop
FehlerRoutine:
    MsgBox "Bitte Pfad und Namen der WAV-Datei anpassen!"
ende:
End Sub


Also eigentlich müsste es funktionieren.

Gruß
Wolfgang


  


Betrifft: Danke!!! von: Dennis Kaulen
Geschrieben am: 27.08.2004 10:10:43

Danke Wolfgang,
so funktioniert es tadellos!
Und wegen dem anderen Thread:
Ich bedanke mich grundsätzlich, denn ich weiss, was sich gehört.
In anderen Foren zu Themen wo ich mich mit auskenne, helfe ich nämlich auch gerne weiter und ich weiss, das es für den Helfenden auch ein Erfolgserlebnis sein kann, anderen mit seinem Wissen weiterzuhelfen.

mit freundlichem Gruss, Dennis


 

Beiträge aus den Excel-Beispielen zum Thema "problem mit Formel wegen sound"