Avatar billede kll1978 Nybegynder
29. september 2008 - 14:12 Der er 14 kommentarer og
1 løsning

MsgBox - pop up

Jeg har brug en MsgBox, der skal poppe op når en celle i et navngivet område er udfyldt med et bestemt indhold, fx. hvis en af cellene i det navngivet område er lig med det bestemte indhold, fx. "SV".

På msgBox, skal bare sige ok og andet skal der ikke ske - det er en slags informationen til brugeren
Avatar billede kabbak Professor
29. september 2008 - 14:52 #1
I arkets modul

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("Omrade"), Target) Is Nothing Then
        If Target = "SH" Then MsgBox ("OK")
    End If
End Sub
Avatar billede kll1978 Nybegynder
29. september 2008 - 15:50 #2
hej kabbak

det virker efter hensigten, men kan man få det indbygget således, hvis indholdet i en af cellene i det navngivet område blive slettet, at der ikke kommer en fejlbesked på skærmen.
Avatar billede kabbak Professor
29. september 2008 - 17:34 #3
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("Omrade"), Target) Is Nothing Then
    Dim Cell As Range
        For Each Cell In Target.Cells
            If Cell = "SH" Then MsgBox ("OK")
        Next
    End If
End Sub
Avatar billede kll1978 Nybegynder
01. oktober 2008 - 10:09 #4
jeg har prøvet at tilføje en ekstra "betingelse, men jeg får fejl

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("AV"), Target) Is Nothing Then
    Dim Cell_AV As Range
        For Each Cell In Target.Cells
            If Cell_AV = "SV" Or Cell = "sv" Then MsgBox ("OBS! Der skal betales skyggeløn. Personalet foretager beregningen.")
        Next
    End If
   
  If Not Intersect(Range("Sum_FT"), Target) Is Nothing Then
    Dim Cell_FT As Range
        For Each Cell In Target.Cells
            If Cell_FT = "ja" Then MsgBox ("OBS! .")
        Next
    End If
   
End Sub


Hvordan skal koden se ud?
Avatar billede kabbak Professor
01. oktober 2008 - 10:20 #5
If Cell_FT = "ja" Then MsgBox ("OBS! .")
skal være

  If Cell = "ja" Then MsgBox ("OBS! .")
Avatar billede kabbak Professor
01. oktober 2008 - 10:21 #6
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("AV"), Target) Is Nothing Then
    Dim Cell_AV As Range
        For Each Cell In Target.Cells
            If Cell_AV = "SV" Or Cell = "sv" Then MsgBox ("OBS! Der skal betales skyggeløn. Personalet foretager beregningen.")
        Next
    End If
 
  If Not Intersect(Range("Sum_FT"), Target) Is Nothing Then
    Dim Cell_FT As Range
        For Each Cell_FT In Target.Cells
            If Cell_FT = "ja" Then MsgBox ("OBS! .")
        Next
    End If
 
End Sub

her er den rettet
Avatar billede kll1978 Nybegynder
01. oktober 2008 - 10:43 #7
jeg har rettet til i den sidste du lavede, for ellers vil den ikke virke rigtig, men jeg kan stadig ikke få den sidste betingelse til at virke rigtig, der poppe ikke en meddelse op på skærmen, når en af cellerne i området "SUM_FT" automatisl bliver udfyldt med ja/nej, når en betingelse (lavet med en hvis formel) er opfyldt.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("AV"), Target) Is Nothing Then
    Dim Cell_AV As Range
        For Each Cell In Target.Cells
            If Cell = "SV" Or Cell = "sv" Then MsgBox ("OBS! Der skal betales skyggeløn. Personalet foretager beregningen.")
        Next
    End If
 
  If Not Intersect(Range("Sum_FT"), Target) Is Nothing Then
    Dim Cell_FT As Range
        For Each Cell_FT In Target.Cells
            If Cell = "ja" Then MsgBox ("OBS! .")
        Next
    End If
 
End Sub
Avatar billede kabbak Professor
01. oktober 2008 - 14:18 #8
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("AV"), Target) Is Nothing Then
    Dim Cell_AV As Range
        For Each Cell In Target.Cells
            If UCase(Cell) = "SV" Then MsgBox ("OBS! Der skal betales skyggeløn. Personalet foretager beregningen.")
        Next
    End If

  If Not Intersect(Range("Sum_FT"), Target) Is Nothing Then
    Dim Cell_FT As Range
        For Each Cell_FT In Target.Cells
            If UCase(Cell_FT) = "JA" Then MsgBox ("OBS! .")
        Next
    End If

End Sub
Avatar billede kll1978 Nybegynder
01. oktober 2008 - 16:00 #9
jeg takker for løsningen.

Er det muligt, at MsgBox kun skal dukke op, hvis en bestemt celle, hvor der er lavet en hvis formel (HVIS(a1="SV";HVIS(SUM(B1:G1)>0;1;0);"")), viser resultatet af hvis betingelsen.

fx. der tastet SV i celle a1 og c1 - her skulle der meget gerne poppe en besked op. er dette muligt

  a    b    c    d    e    f    g    h
1 SV        1                        her står hvis formel
Avatar billede kabbak Professor
01. oktober 2008 - 19:05 #10
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("AV"), Target) Is Nothing Then
        Dim Cell As Range
        For Each Cell In Target.Cells
            If UCase(Cell) = "SV" And Cells(Target.Row, "H") <> "" Then
                MsgBox ("OBS! Der skal betales skyggeløn. Personalet foretager beregningen.")
            End If
        Next
    End If

    If Not Intersect(Range("Sum_FT"), Target) Is Nothing Then
        Dim Cell_FT As Range
        For Each Cell_FT In Target.Cells
            If UCase(Cell_FT) = "JA" Then MsgBox ("OBS! .")
        Next
    End If

End Sub
Avatar billede kll1978 Nybegynder
02. oktober 2008 - 13:09 #11
If Not Intersect(Range("NFT_PK"), Target) Is Nothing Then
        Dim Cell_PK2 As Range
        For Each Cell_PK2 In Target.Cells
            If UCase(Cell_PK2) > 0 And Cells(Target.Row, "AP") = 2 Then
                MsgBox ("OBS! Der kan ikke indstilles flere tillæg til denne funktion.")
                Cell.Selection.ClearContents
            End If
        Next
    End If

Hvordan kan jeg kode sådan, at den valgte celle automatisk (indenfor den valte celle i det navngivet område) blive slettet, efter at MsgBox er blevet vist.
Avatar billede kll1978 Nybegynder
02. oktober 2008 - 14:38 #12
hvordan laver man linjeskift i en msgbox
Avatar billede kabbak Professor
02. oktober 2008 - 16:47 #13
Carrie return og linjeskift: vbCrLf
MsgBox ("OBS! Der kan ikke indstilles" & vbCrLf & " flere tillæg til denne funktion.")

eller
Linjeskift:  vbLf
MsgBox ("OBS! Der kan ikke indstilles" & vbLf & " flere tillæg til denne funktion.")
Avatar billede kabbak Professor
02. oktober 2008 - 18:34 #14
Cell.Selection.ClearContents
skal være

Cell_PK2.ClearContents

NB, Hold tjek på dine navne
Avatar billede kll1978 Nybegynder
20. december 2008 - 13:50 #15
Hej kabbak, kan du ikke komme med et svar, så kan lukke denne ned.

Jeg takker for dit hjælp.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester