Är nybörjare på VB och behöver hjälp med följande: Jag har aldrig använt VB i excel, men det här fungerar nog: Tack för hjälpen! Tack för hjälpen! Jag orkar inte förklara allt, men gör ett nytt dokument i excel, tryck ALT-F11. I grejen till vänster väljer du vilket blad du vill kolla på. Dubbelklicka och klistra in koden där. Ett litet problem återstår ser jag.VB Excel
Jag vill ha ett litet program i VB (i Excel) som ska känna av innehållet i en bestämd cell. Om cellens innehåll ändras från = 0 till <> 0 vill jag att ett ljud ska spelas upp. Det spelar ingen roll om det är en ljudfil som jag själv har skapat (även om det skulle vara det bästa) eller om det är något annat ”pip ljud” som hörs.
Tack på förhand!
Mvh OlaSv: VB Excel
<code>
Option Explicit
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub Worksheet_Change(ByVal Target As Range)
If Blad1.Cells(1, 1) <> "0" Then
sndPlaySound "C:\sökväg\till\fil.wav", 1
End If
End Sub
</code>Sv: VB Excel
Men det funkar inte riktigt. Jag har gjort så här:
Jag placerade ut en knapp och klistrade in koden så här:
Private Sub CommandButton1_Click()
Option Explicit
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub Worksheet_Change(ByVal Target As Range)
If Blad1.Cells(1, 1) <> "0" Then
sndPlaySound "C:\sökväg\till\fil.wav", 1
End If
End Sub
End Sub
Det blir följande meddelande:
Compile error:
"Only comments may appear after End Sub, End Function, or End Property"
Dessutom:
Vad jag förstår kommer programmet att kontrollera värdet i cellen en gång och sedan avsluta? Hur gör jag för att få proceduren att upprepas tills värdet blir <> "0" alt. om jag trycker på en stoppknapp.
Vilken cell är det som kontrolleras? Du har skrivit "Blad1.Cells(1, 1)". Borde det inte vara (A,1) eller något liknande?
Jag har programmerat mycket i Basic för ca 20 år sedan. Det känns som att börja om igen men jag är mycket motiverad. Hoppas ni har tålamod att hjälpa mig med det här tills det fungerar. Jag har två böcker som jag läser ur men det är inte så lätt att få ordning på allt i början.
mvh OlaSv: VB Excel
Men det funkar inte riktigt. Jag har gjort så här:
Jag placerade ut en knapp och klistrade in koden så här:
Private Sub CommandButton1_Click()
Option Explicit
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub Worksheet_Change(ByVal Target As Range)
If Blad1.Cells(1, 1) <> "0" Then
sndPlaySound "C:\sökväg\till\fil.wav", 1
End If
End Sub
End Sub
Det blir följande meddelande:
Compile error:
"Only comments may appear after End Sub, End Function, or End Property"
Dessutom:
Vad jag förstår kommer programmet att kontrollera värdet i cellen en gång och sedan avsluta? Hur gör jag för att få proceduren att upprepas tills värdet blir <> "0" alt. om jag trycker på en stoppknapp.
Vilken cell är det som kontrolleras? Du har skrivit "Blad1.Cells(1, 1)". Borde det inte vara (A,1) eller något liknande?
Jag har programmerat mycket i Basic för ca 20 år sedan. Det känns som att börja om igen men jag är mycket motiverad. Hoppas ni har tålamod att hjälpa mig med det här tills det fungerar. Jag har två böcker som jag läser ur men det är inte så lätt att få ordning på allt i början.
mvh OlaSv: VB Excel
Du skall alltså förmodligen inte gå via ett program i VB. Det är bättre att skriva det i det s.k. VBA som finns i Excel.Sv: VB Excel
Cellen som bevakas uppdateras från ett annat program. Så mitt lilla program kommer inte igång. Hur gör man då?
mvh Ola