Microsoft Excel

Herbers Excel/VBA-Archiv

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

wie Formel auf mehrere Zellen anwenden?

Betrifft: wie Formel auf mehrere Zellen anwenden? von: Dennis Kaulen
Geschrieben am: 25.08.2004 06:16:10

Hallo Leute,

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: wie Formel auf mehrere Zellen anwenden? von: Luschi
Geschrieben am: 25.08.2004 07:12:57

Hallo Denis,

für dieses Problem gibt es die Intersect-Methode. Damit kann man prüfen, ob Target
in einem vorgegebenen Bereich liegt.

Gruß von Luschi
aus klein-Paris


  


Betrifft: AW: wie Formel auf mehrere Zellen anwenden? von: Dennis Kaulen
Geschrieben am: 25.08.2004 11:45:23

@Luschi,

und wie sieht dann die Formel aus?
Ich kenne mich mit VBA leider kaum aus.

MfG, Dennis


  


Betrifft: AW: wie Formel auf mehrere Zellen anwenden? von: Andreas Emmert
Geschrieben am: 28.08.2004 19:08:17

Hi Dennis,

das würde vom Prinzip her dann so aussehen:

Private Sub Worksheet_Change(ByVal Target As Range)
  
If Not Intersect(Target, Range("D7:D17")) Is Nothing Then

 (Hier dann deine Aktion rein mit dem Soundabspielen ...)
    
End If

End Sub


Hoffe mal das hilft weiter ....

Grüße

Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "wie Formel auf mehrere Zellen anwenden?"