Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketAdvarsels popup

 Besvar Besvar
Forfatter
Sebbelin Se dropdown
Forum Begynder
Forum Begynder


Medlem: 27.Okt.2016
Land: Da
Status: Offline
Point: 5
Direkte link til dette indlæg Emne: Advarsels popup
    Sendt: 27.Okt.2016 kl. 12:28
Hej

Jeg har ikke den store erfaring med VBA, så håber på I måske kan hjælpe mig. Jeg skal have en advarsel i et større regneark, når man vælger en bestemt tekst fra en dropdown menu. Man kan vælge samme tekst i 3 forskellige felter så advarsel skal poppe up uanset hvilke af disse felter man vælger teksten. Jeg er nået frem til følgende formel:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("D9") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
    If Range("D10") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
    If Range("A11") = "X" And Range("D11") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
    If Range("A11") = "XY" And Range("D11") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
    If Range("A11") = "XYZ" And Range("D11") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
End Sub

Hvis jeg så har "overføres" i D9,D10 eller D11, så får jeg popup advarslen hver gang jeg ændrer i alle andre celler i arket, hvilket er en smule irriterende, den skulle gerne kun poppe op lige når man vælger "overføres", så der skal vel laves en form for begrænsning i formlen. Er der en der kan hjælpe med en løsning? :-)
Til top



Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Direkte link til dette indlæg Sendt: 27.Okt.2016 kl. 21:37
Mon ikke det skal være :

If Intersect(Target, Range("D9:D10, A11")) Is Nothing Then Exit Sub

som linje 2 i koden
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
Sebbelin Se dropdown
Forum Begynder
Forum Begynder


Medlem: 27.Okt.2016
Land: Da
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 28.Okt.2016 kl. 11:04
Tak, det hjalp meget

Når jeg vælger "overføres" i fx. D9 og efterfølgende vælger noget andet i D10 eller D11, så popper advarslen op igen, kan man undgå det, så den kun gør det hvis der vælges overføres i de andre felter?
Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Direkte link til dette indlæg Sendt: 30.Okt.2016 kl. 08:40
Kan du ikke enten oploade eller sende din fil eller en eks-fil
Så jeg kan se hvor du har indtastningsfelter (overføres) m.v.
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
Sebbelin Se dropdown
Forum Begynder
Forum Begynder


Medlem: 27.Okt.2016
Land: Da
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 31.Okt.2016 kl. 17:14
Test.xlsm

Jeg har lige lavet en mindre udgave at arket, da jeg helst ikke vil uploade det fulde ark.

Men som sagt popper advarslen op hvis jeg vælger overføres i D9 og når jeg så anvender D10 eller D11 med fx aflyses, så kommer advarslen igen og det er det jeg gerne vil undgå :-)
Til top
excelent Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
Direkte link til dette indlæg Sendt: 31.Okt.2016 kl. 20:16
Prøv:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("D9:D10, A11")) Is Nothing Then Exit Sub
    
    If Range("D9") = "overføres" And Range("D10") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    Range(Target.Address) = ""
    End If
    
    If Range("D10") = "overføres" And Range("D9") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    Range(Target.Address) = ""
    End If
    
    If Range("D9") = "rykker" And Range("D10") = "rykker" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    Range(Target.Address) = ""
    End If
    
    If Range("D10") = "rykker" And Range("D9") = "rykker" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    Range(Target.Address) = ""
    End If
    
    If Range("D9") = "aflyses" And Range("D10") = "aflyses" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    Range(Target.Address) = ""
    End If
    
    If Range("D10") = "aflyses" And Range("D9") = "aflyses" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    Range(Target.Address) = ""
    End If
    
    
    If Range("A11") = "Ejerpantebrev" And Range("D11") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
    If Range("A11") = "Pantebrev" And Range("D11") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
    If Range("A11") = "EP" And Range("D11") = "overføres" Then
        MsgBox "Der kan ikke... bla bla bla!", vbExclamation, "Advarsel"
    End If
End Sub
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk