Jeg har nogle problemer med datavalidering, håber der er en, som kan hjælpe
mig.
Jeg har en del celler i Ark1, hvor der kun må indtastes værdier svarende til
dem, der eksisterer i Ark2 kolonne A.
Jeg har forsøgt mig med hjælpen og samt nedenstående, men uden held.
Datavalidering sat til:
Liste
Kilde: Ark2!A2:A64000=Validering
Er der en der har erfaring med dette ?
--
Regards
Flemming
Please post replies or follow-ups to the **newsgroup** so that participants
may benefit or contribute.
Hvis du skal bruge et område fra et andet ark i validering,
skal dette område navngives. Det ser ud som om, du *har*
gjort det og givet det navnet Validering.
Når du opretter "Validering", skriver du i kildeboksen
=validering
Husk lighedstegnet, ellers tror Excel, at listen består af ordet
"validering"!
Det er måske dét, der er smuttet :-)
Med venlig hilsen
Leo
Flemming Dahl <fle...@post3.tele.dk> skrev i en
nyhedsmeddelelse:8ma3dh$hif$1...@news.inet.tele.dk...
Takker for hjælpen. Der sker blot ikke en sk.. ved at navngive området i
Ark2, og lave datavalideringen i Ark1 =Validering. Dvs. der kommer ingen
fejlmeddelse, og jeg kan taste alt. Kan det mon have noget at gøre med, at
enkelte celler er tomme i det navngivne område (spørger jeg lige mig selv)?
En anden sjov ting er, at kommer en datavalidering ovenover eller til
venstre i et frosent område, så forsvinder dropdown pilene.
--
Regards
Flemming
Please post replies or follow-ups to the **newsgroup** so that participants
may benefit or contribute.
Leo Heuser <leo.h...@get2net.dk> skrev i en
nyhedsmeddelelse:Zt8i5.23$F71...@news.get2net.dk...
Det ser ud som om, at det giver problemer, at der er tomme celler i
Valideringsområdet.....øv. Jeg har behov for tomme celler, idet brugeren
selv kan diffinere valideringsområdet. Der er nemlig tale om en kassekladde,
hvor der valideres på en kontoplan.
Er der en der kan hjælpe med at lave en makro, som laver checket i stedet ?
Alt hvad jeg høvler ind i Kassekladde!K13:K1000 skal valideres med
Kontoplan!A2:A1000.
Skal det i en Private Sub Workbook_SelectionChange(Target.....) ?
Hej igen,
Måske kan du nøjes med denne her:
Sæt de tomme celler til sidst i området og indtast i dem =" "
så vil brugeren kun kunne indtaste ét mellemrum ud over de
definerede værdier. I valglisten vil der være tomme pladser
til sidst, men det er vel til at leve med.
For brugerne vil de "tomme" celler i listen se tomme ud, og de kan lystigt
indtaste deres lokale værdier.
For at forhindre at de "tomme" celler bliver slettet, så der virkelig
*kommer* en tom celle i listen, kan du lave et check i change-hændelsen,
der checker det navngivne område igennem og erstatter eventuelle
tomme celler med =" ".
Med venlig hilsen
Leo
Jaaaa, det kan godt løse problemet - det er nu ikke den fineste metode og
området strækker sig over hele A-kolonnen minus A1.
Brugeren skal endvidere have mulighed for at slette og indsætte linier -
altså total redigeringsfrihed.
Som du måske kan høre, så er jeg ikke helt begejstret.
Jeg har i forvejen en Workbook_SelectionChange event på arket, og jeg ville
heller ligge checket ind her, og så lave skriften automatisk, hvis det
indtastede er korrekt, og fed rød hvis det er forkert.
Hov - det kan jeg vel egenligt blot lave med en betinget formatering....skal
lige prøves.
--
Regards,
Jeg har to spørgsmål i nedenstående rutine.
1. Kan jeg lave et hop over koden, hvis ændringe af en celle ikke er i mit
range("K13:K998") ???
2. Hvorfor kommer koden aldrig ind i IF-sætningen ved en rigtig konto ???
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Viser benyttet kontonr i MsgBox
Dim strAccountNo, strAccountName As String
Dim iX As Integer: iX = 0
Dim rCell As Range
'En check om range er i kontonr kolonne ellers hop udenom ????
'Ved indtastning i kolonne med kontonr
If Not Intersect(Target, Range("K13:K998")) Is Nothing Then
strAccountNo = ActiveCell.Value
For Each rCell In Worksheets("Kontoplan").Range("AccountList")
'Rigtig konto fundet ????
If rCell.Value = strAccountNo Then
strAccountName = Range("B" & rCell.Row).Value
ActiveCell.Offset(0, -1).Font.Bold = False
ActiveCell.Offset(0, -1).Font.ColorIndex = 1
'Viser hvilken konto der er benyttet
MsgBox strAccountName, vbOKOnly, "Systeminformation"
Exit Sub
End If
Next
'Konto er ugyldig
MsgBox "Konto findes ikke i kontoplanen", vbOKOnly,
"Systeminformation"
ActiveCell.Offset(0, -1).Select
ActiveCell.Font.Bold = True
ActiveCell.Font.ColorIndex = 3
End If
End Sub