webForumDet fria alternativet

Problem med excel validering

Kontorsprogram

4 svar · 1 532 visningar · startad av rymdknark

Medlem sedan maj 2000175 inlägg
Frågan#1

Hej!

Försöker skriva ett makro som lägger till en validering för en cell i excel.
Så fort som formeln börjar med ett likhetstecken, så får jag felmeddelandet:

Körfel nr '1004'
Program eller objectsdefinierat fel.

With Range("g3").Validation

    .Delete
    
    .Add Type:=xlValidateList, _
        AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, _
        Formula1:="=INDIRECT($F$3)"

End With

Tar jag bort likhetstecknet så fungerar makrot utan att generera fel, men valideringen fungerar inte. Någon som har någon ide på orsak/workaround?

Medlem sedan juni 20014 290 inlägg
#2

Varför inte använda excel's inbyggda valideringsfunktion?

I 2010 ligger den under fliken Data och heter "Data Validation".

Medlem sedan maj 2000175 inlägg
#3

Kan vara jag som inte är tillräckligt bra på excel, men jag känner inte till hur jag skall kunna lägga till validering på varje rad i en kolumn som refererar till en annan cell i samma rad.

För mig var det självklara valet att skripta detta, men om det går att lösa på annat sätt så är även det bra.

Som det ser ut just nu, så lyckas jag inte lösa det på något vätt...

Medlem sedan juni 20014 290 inlägg
#4

I excel 2010, skapa en lista med dom val som du vill skall gälla, markera sedan cellen/cellen som du vill validera.

Klicka sedan på "Data Validation", i dialog rutan som kommer upp ändra Allow till "list", nu kommer en "Source" fält upp där anger du listan med valen som skall gälla, klicka på Ok och det är färdigt.

Se bifogad fil:

Medlem sedan maj 2000175 inlägg
#5

Jodå, så långt är jag med.

Men jag vill att i cellen [b1] så skall antingen [lista1] eller [lists2] användas beroende på vilket värde det är i cellen [a1].

För nästa rad så är förhållandet lista i cell [b2] beroende på värde i cell [a2], osv... typ några tusen rader ner..

är jag tydlig nog?

ps. Jag jobbar med namngivna listor, det är därför som jag vill använda "=INDIRECT($A$2)" som formel

248 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)