01. februar 2011 - 11:45
Der er
10 kommentarer og 1 løsning
Hvis formel og hvis VBA
Har følgende sande udtryk: Når K er 1 skal U være 0 Når K er større end 1 skal U være lig med eller større end 1 K skal altid være større end 0 Jeg vil gerne have den som formel med sand som "OK" og falsk som "fejl" og jeg vil også gerne have den som VBA-kode,(K = celle A1, U = celle A2), hvor sand sender makroen "videre" og falsk "kalder" en MsgBoks
Annonceindlæg fra Axcess Nordic
01. februar 2011 - 18:21
#1
Hej denero Skal lige forstå dig ret ... Taster du værdier ind i k (celle A1), så så skal gi' et givent resultat i U (celle A2) ?? Og hvad mener du med: Sand som "OK" og falsk som "Fejl" ? Med venlig hilsen, Nicolai
01. februar 2011 - 20:05
#2
Det er også noget sludder: Når K er 1 skal U være 0 Når K er større end 1 skal U være lig med eller større end 1 K skal altid være større end 0 Jeg vil gerne have det som formel med sand som "OK" og falsk som "fejl" Dette foregår selvfølgelig i samme celle, hvis udsagnene passer, skrives der ok - hvis ikke, skrives der fejl. Denne celle skal visualisere, om der er korrekt indtastet. Jeg vil samtidig gerne have, at min makro også tjekker dette, så derfor i VBA-kode.
02. februar 2011 - 09:20
#3
Er der nogle forslag?
02. februar 2011 - 10:12
#4
Prøv med Excels egen Validering mvh finb
02. februar 2011 - 16:59
#5
Hej denero Hermed et forslag: K = celle A1 U = celle A2 I celle C1 har jeg følgende formel som viser enter "OK" eller "FEJL", alt efter hvad du indtaster i K og U =IF(A1=1;IF(A2=0;"OK";"FEJL");IF(A1>1;IF(A2>=1;"OK";"FEJL"))) Derudover har jeg datavalideret celle A1 så den kun må indeholde tal der er større end nul. Validation: Vælg celle A1 Vælg Data på værktøjslinien. Vælg Validation Følg vejlledningen. Vender lige tilbage med VBA koden .... Med venlig hilsen, Nicolai
04. februar 2011 - 08:20
#6
Hej Nicolai Først undskyld, at jeg nylig svarer nu. Det går ikke, at celle A1 ikke må indeholde 0, da dette vil forekomme. Jeg skulle nok have skrevet, at hvis A1 er nul er udsagnet falsk(fejl). Har ikke prøvet formlen af, vil vente, da dette jo er en ændring. Håber du stadig kan hjælpe.
04. februar 2011 - 12:57
#7
Hej denero Ingen problem ... jeg hænger også lidt i bremsen :o) Anyway, prøv følgende formel, som viser "FEJL", hvis celle A1 er = 0: =IF(A1=0;"FEJL";IF(A1=1;IF(A2=0;"OK";"FEJL");IF(A1>1;IF(A2>=1;"OK";"FEJL")))) Og lav lige lidt om i celle A1´s datavalidering, så den kun må indeholde tal der er større end eller lig nul. Validation: Vælg celle A1 Vælg Data på værktøjslinien. Vælg Validation Følg vejlledningen. Og jeg vender lige tilbage med VBA koden .... Med venlig hilsen, Nicolai
04. februar 2011 - 17:46
#8
Hej denero Jeg skal lige danne mig et overblik over din tankegang :o) Har du en idé om, hvornår VBA koden skal teste om det indtastede er ok eller fejl ?? Skal der eksempelvis testes når: - der indtastes i celle A1 - der indtastes i celle A2 - Eller ?? Med venlig hilsen, Nicolai
05. februar 2011 - 07:24
#9
Når indtastningen er færdig skal der testes i begge celler (ekstra sikkerhed for at data er ok inden de eksporteres til anden mappe).
06. februar 2011 - 00:00
#10
Hej denero Hvad med nedenstående ... ? Kopier følgende ind i VBA editoren under det aktuelle worksheet, hvorpå du har dine celler A1 og A2: Private Sub Worksheet_Change(ByVal Target As Range) Dim k As Variant 'celle A1 Dim u As Variant 'celle A2 'A1=0 .. Fejl 'A1=1 .. A2=0 ellers fejl 'A1>1 .. A2>=1 ellers fejl 'tildel k og u de aktuelle værdier fra celle A1 og A2 k = Range("A1").Value u = Range("A2").Value 'Test først, hvis der er værdier i både celle A1 og A2 If k <> "" And u <> "" Then 'vælg udfra værdien i k = celle A1 Select Case k 'celle A1 er mindre end 0 Case Is < 0 MsgBox "Værdien i celle A1 er mindre end 0", vbInformation 'celle A1 er 0 Case 0 MsgBox "Værdien i celle A1 er 0", vbInformation 'celle A1 er lig med 1 Case 1 'hvis celle A2 er = 0 If u = 0 Then MsgBox "OK ... Celle A2 er 0", vbInformation 'ellers fejl! Else MsgBox "Fejl", vbCritical End If 'celle A1 er større end 1 Case Is > 1 'hvis celle A2 større end eller lig med 1 If u >= 1 Then MsgBox "OK ... Celle A2 er større end eller lig med 1", vbInformation 'ellers fejl! Else MsgBox "Fejl", vbCritical End If End Select End If End Sub ---- Med venlig hilsen, Nicolai
06. februar 2011 - 22:46
#11
Tak for hjælpen
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig