30. juni 2020 - 09:09Der er
10 kommentarer og 1 løsning
Inputbox indtast værdi betinget af værdi i anden celle
Jeg har et ark, hvor brugeren af arket vælger nogle værdier ud fra en rulleliste. I denne liste er der eksempelvis 4 muligheder, hvoraf den ene hedder "NY TC". Når brugeren vælger denne værdi, skal der komme en inputbox frem, hvor man kan taste et tal, der indsættes i en anden celle. Hvis brugeren ikke vælger noget eller en af de øvrige muligheder fra rullelisten, skal der blot indsættes en formel i cellen.
Jeg har forsøgt mig med følgende kode, men tallet fra inputboksen sættes ikke ind i cellen. Det virkede fint inden jeg skrev at formlen skulle sættes ind, hvis værdien var forskellig fra "NY TC" - hvad gør jeg galt?
Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ExitSub If Not Intersect(Range("C26"), Target) Is Nothing Then If Target.Value = "NY TC" Then
Dim svar As String Dim svar2 As String Celle = Target.Offset(0, 2).Address svar = InputBox("Indtast pris ny TopCup") FormulaLocal = "=IF($C$26=""NY TC"";""indtast pris her"";IF(E$22="""";0;IF($C26="""";0;VLOOKUP(VLOOKUP($C26;Emballager!$A:$C;3;FALSE)&0;Udtræk!$J:$L;2;FALSE))))"
If svar <> "NY TC" Then
Else If Target.Offset(0, 2).Value = "NY TC" Then Target.Offset(0, 2).Value = svar Exit Sub End If If Target.Offset(0, 2).Value <> "NY TC" Then Target.Offset(0, 2).Value = FormulaLocal
Jeg prøver at se på det. Umiddelbart ser det dog ud til at formlen, du vil indsætte er en blanding af dansk og engelsk, idet du bruger engelske funktionsnavne og så semikolon som argumentadskiller, hvor det nok bør være komma.
If Not Intersect(Range("C26"), Target) Is Nothing Then If Target.Value = "NY TC" Then Svar = InputBox("Indtast pris ny TopCup") Target.Offset(0, 2) = Svar Else Target.Offset(0, 2) = Formel End If End If
End Sub
Jeg kan desværre ikke teste det helt, da formlen fejler fordi jeg ikke har de ark, du laver opslag i.
Hvis jeg nu vil have samme funktion i næste række (C27), men det ikke hedder "NY TC" men eksempelvis "NY OC" - hvordan får jeg så tilføjet dette i koden?
Det kan du ikke desværre. Du er derfor nok nødt til atomdefinere dit oprindelige Target. og se om det ligger i enten C26 elle C27, og så gøre en ting, hvis det er C26 og en andne, hvis det er C27. Jeg har dog ikke mulighed for at prøve lige pt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.