Lav en Userform/dialogboks med valgmulighederne. Hvis der er max. 3 valg, kan du bruge Optionbuttons, ellers bør du lave enten en Listbox eller en Combobox med de respektive valgmuligheder.
Eller du kan bruge en "validation-box": - skriv f.eks. i A1: ja; A2: genfyldes; A3: nej fjernes - stå i B1 hvis din box skal stå der og - menu - data - validation - og under settings fanen under allow vælg: List - og under source vælg rangen: =$A$1:$A$3 - og OK; så har du din drop down box med de tre tilladte værdier i B2
En if sætning kunne se således ud: =IF(B1="ja";25;IF(B1="genfyldes";50;IF(B1="nej fjernes";75;"ingen indtastning")))
tak for reply begge. Jeg skal have den flettet ind i en macro som spørger brugeren om beholdning, han har normalt 3 muligheder.. Men kan også være der kommer en 4 mulighed.
Svaret skal derefter registreres og afgøre hvorledes der beregnes i andre områder/ark. Det kan godt være at ComboBox er det rigtige, skal prøves..
Hvis det afvikles af/i en makro, jeg er absolut på userform/dialogboks løsningen, som smider brugerens valg i en celle, så dine formler kan regne videre på dem.
Hvis du ikke vil bruge en validation box (som jeg synes er meget straight forward at arbejde med) kan du bruge en listbox eller en combobox, forskellen på disse to indbyrdes er jo mere grafisk og forskellen til en validation box er jo at en validation box afleverer den valgte værdi som output, hvor de to andre leverer nummeret i inputlisten af muligheder:1, 2, 3, etc. - som jo ifølge flemmingdahl er lettere at arbejde med i en makro (er ikke selv en ørn til VB). Jeg ville mene de tre nævnte er dine umiddelbare muligheder. / Luffe
Men kan ikke få den overstående til at til at komme med næste MsgBox, hvad er der galt ?? Hvis jeg svare No så sker der ikke vidre... End If placeret forkert ?
Hej flemmningdahl, endnu engang tak. Selvfølig ELSE..... Nu virker den fortræffelig til formålet, da det er mest almindelig at fortsætte beholdning.
Så er der endnu et lille spørgsmål (du har i forvejen fuld fortjent både points, tak og karma -så du må ikke tage dette ilde op)
Er det mulig at definere rækkefølgen på denne afhængig af cellen i Stamdata = "rækkkefølge"? -og gerne uden formlen bliver alt for kludret.(mit første indskydelse er at starte med endnu et IF og så samme kode + den omvendte..
Hej Lun Jeg er ikke 100% på hvad du mener, men jeg har lavet følgende eksempel, hvor en Boolean (bContinue) bliver true eller false afhængigt af indholdet af en celle, og så er MsgBox'ene flyttet til en funktion, som returnerer brugeren valg... Denne løsning holder kun ved to valg... ved flere ville jeg bruge Enum's
Sub Dims() Dim bContinue As Boolean
bContinue = False If LCase(Sheet1.Range("A1").Value) = "lund" Then bContinue = True End If
DlgStatus = DeterminMessageBox(bContinue) If DlgStatus = vbYes Then Range("G20:G31").Select Application.CutCopyMode = False Selection.Copy Range("P54").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Else DlgStatus = Not DeterminMessageBox(bContinue)
If DlgStatus = vbYes Then Range("P20:P31").Select Application.CutCopyMode = False Selection.Copy Range("P54").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Else MsgBox "! ! Du skal selv indtaste !!", 0, "Advarsel"
End If End If End Sub
Function DeterminMessageBox(ByVal bContinue As Boolean) As String Dim sRetVal As String
If bContinue Then sRetVal = MsgBox("forsætter beholdning d.d. ? ", vbYesNoCancel, " ? stand efer afstemning ?") Else sRetVal = MsgBox(" genfyldes/aftømmes til opstart beholdning d.d. ? ", vbYesNo, " ? stand efer afstemning ?") End If
Hej igen flemmingdahl. Jo, du har fanget den -Helt rigtig..
Enum - den kender jeg ikke. Hvordan bruges denne ?
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.