29. september 2008 - 14:12Der 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
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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
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.
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
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
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
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
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
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
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
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.
Hej kabbak, kan du ikke komme med et svar, så kan lukke denne ned.
Jeg takker for dit hjælp.
Synes godt om
Ny brugerNybegynder
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.