Forfatter |
Emne Søg Emne funktioner
|
Sebbelin
Forum Begynder
Medlem: 27.Okt.2016
Land: Da
Status: Offline
Point: 5
|
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? :-)
|
|
|
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
Sebbelin
Forum Begynder
Medlem: 27.Okt.2016
Land: Da
Status: Offline
Point: 5
|
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?
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|
Sebbelin
Forum Begynder
Medlem: 27.Okt.2016
Land: Da
Status: Offline
Point: 5
|
Sendt: 31.Okt.2016 kl. 17:14 |
Test.xlsmJeg 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å :-)
|
|
excelent
Guld bruger
Medlem: 12.Apr.2011
Land: DK
Status: Offline
Point: 2171
|
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 !!!
|
|