Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketFunktion eller?

 Besvar Besvar
Forfatter
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Emne: Funktion eller?
    Sendt: 13.Jan.2017 kl. 12:31
Har nu rodet en hel del ude den store nytte. Ouch
Har en Knapfunktion som henter en Macro.l
 
Søger hjælp til følgende;
 
Opgave 1
Har en Macro hvori jeg går til en bestemt Celle ("B6") i ark 2.
I denne celle skal der ventes indtil et beløb er sat ind i cellen før systemet må køre videre.
 
Opgave 2
Hvis cellen nu er blevet udfyldt, må der ikke senere kunne overskrives i cellen.
Men der skal vendes tilbage i det Ark 1 og i en Celle ("A12") hvor Knapfunktionen kom fra.
 
Kan nogen sætte mig på rette spor? Smile
//Bjarne
Til top



Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 13.Jan.2017 kl. 13:12
Der er flere ting, som skal holdes øje med, ud over om brugeren indtaster noget i cellen, bl.a. om brugeren aktivere et andet regneark, eller vælger en anden celle i regnearket, eller på anden måde forsøger, at lave noget andet, end ,at indtaste i cellen.

Så...

Umiddelbart ville jeg lave en 'Public' variabel (boolean), der signallere, hvorvidt vi er i 'tvungen indtastningsmode', og så styre det hele via 'Worksheets Events' (Worksheet_Change, Worksheet_SelectionChange, Worksheet_Deactivate, o.s.v.)

Hvis dette flag er sat, og der ingenting står i din celle, skal disse events vedblive at hoppe til cellen, og tvinge brugeren til at indtaste deri.
Hvis flaget ikke er sat, så kan brugeren gøre som han plejer.

Når brugeren har indtastet i cellen, skal cellen låses, ved at regnearket låses, og event flaget stilles tilbage igen.

Hvilke events, der skal benyttes kommer lidt and på, hvor meget brugeren skal have lov til, uden, at der er tastet i cellen?

Må han f.eks. kunne gemme regnearket, uden indhold i cellen?
Ellers skal du have gang i 'Workbook_BeforeSave' eventen.

Må han kunne udskrive - ellers så er det 'BeforePrint' eventen.

Det ved kun du, men med et 'Public' event flag har du fuld kontrol, og skal så blot bestemme, hvilke handlinger (events) som brugeren kan/må/skal foretage.
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 13.Jan.2017 kl. 13:14
Glemte lige, at skrive, at når brugeren så har indtastet i din celle, så kan systemet 'køre videre', ved at 'Worksheet_Change' eventen kalder den næste makro...
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Sendt: 13.Jan.2017 kl. 15:00
Der fik du godt nok ram på mig. Smile
 
Kan se at jeg bevæger mig ind på et minefelt.
Fremmedsprog for mig. Har en bog: Visual Basic 6.0 fra 1998 som jeg kigger i. Confused
 
 Jeg var så naiv at tro, når brugeren stod i cellen så skulle brugeren ikke kunne køre videre før der var sat et beløb ind.
Når cellen er udfyldt hoppes der automatisk til en anden celle hvor dags dato indsættes.
 
Men AK, så simpelt er det åbenbart ikke. Ouch
(Savner mit gl. program I7 = Intregrated 7, samt Maskinkode program Hvor det var enkelt at udfører) Broken Heart
 
Nå, men op på hesten igen eller opgive.
 
Tak for dine svar. Beer
 Mvh
//Bjarne
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 13.Jan.2017 kl. 15:11
Næh, næh, næh....
...ikke opgaive  Smile

Det kan skam osse blot være mig, der skyder over målet fordi, jeg ikke forstår dit problem korrekt  Wacko

Jeg forstod det blot sådan, at du ville kunne styre, hvor, hvornår og hvordan ting skete i et rengeark, når du kørte en makro, og hvornår makroen skulle forsætte...

Hvis det alene drejer sig om, at få nogle tal lagt ind i nogle celler, undervejs i en makro, så er der en langt mere simpel metode: Du kan jo blot bede brugeren om at indtaste tallet i en 'InputBox', og så lægge det indtastede tal, fra 'InputBox' funktionen, ind i en celle.
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 13.Jan.2017 kl. 15:12
Og, husk: Visual Basic er LANGT FRA det samme som Visual Basic for Applications  Geek
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Sendt: 14.Jan.2017 kl. 10:25
Smukt -Tak
 
Har lært en del mere. Og naturligvis har du ret igen.Thumbs Up
 
Det alene drejer sig om, at få nogle tal lagt ind i en celle, undervejs i en makro.
Samtidig er der lidt af hvert af dine svar.
Jeg vil nu gå i tænkeboks og forsøge at beskrive / besvare forløbet ud fra dine svar.
På den måde kan jeg lære endnu mere. Geek
 
//Bjarne
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 14.Jan.2017 kl. 10:48
Citér Og naturligvis har du ret igen.
Fortæl lige det til min kone LOL
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Sendt: 18.Jan.2017 kl. 12:09
Smile Tør ikke - du får aldrig fred!
 
Alvor;
Har arbejdet meget på InputBoxen. Går rimeligt fint
 
Men, ja der er altid et men.
 
Har oprettet en  Inputbox i mit ark 'Kassekredit'
I celle "H7" står allerede et beløb.
Hvis man fortryder at indsætte et beløb trykkes der på knap "Cancel". virker helt fint- sådan da.
Desværre sletter den beløbet som allerede stod der. Ouch
OG DET MÅ DEN ABSELUT IKKE!Angry den skal bare gå  tilbage til det ark den kom fra.
 
Hvordan kan jeg undgå at den sletter og hvordan sikre jeg at den går tilbage til det rigtige ark Question
 
Er der slet ingen mulighed for at ændre i Inputboxens funktioner eller udseende?
 
Håber du vil hjælpe en gl. mand Stern Smile
//Bjarne
Til top
Ib Hansen Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
Direkte link til dette indlæg Sendt: 18.Jan.2017 kl. 19:57
Hej Bjarne.

Sådan ville jeg gøre det, men der er sikkert en meget smartere måde at gøre det på.

Normalt vil man fortælle at celle H7 skal være lig med værdien i TextBoxen.
Det gøres med en VBA kode i selve TextBoxen.

Sheets(1).Range("H7").Value = Userform1.TextBox1.Value.
Alt der skrives i TextBoxen, skrives samtidig i celle.

----------

Hvis den først skal skrive et beløb til cellen når du har accepteret det, kan du lave to Buttons i Userformen.
- En Afslut Button.
- En OK Button.

- Et klik på Afslut lukker bare Userformen med Unload me
- Et klik på OK laver et Call til et Module med et Sub, hvor koden oven over står i.

På den måde kører den først koden, når OK Button aktiveres.

På de to Buttons i Userformen
Private Sub CommandButton1_Click()
' OK Button
    Call Module1.Kassekredit
    Unload Me
End Sub

Private Sub CommandButton2_Click()
' Afslut Button
    Unload Me
End Sub

I Modulet, Sub Kassekredit
Sub Kassekredit()
    Sheets(1).Range("H7").Value = UserForm1.TextBox1.Value
End Sub

Ib
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 19.Jan.2017 kl. 08:08
Hvis du benytter 'InputBox', kan du blot teste for om brugeren trykker på [Annuller], med noget i denne stil:
      Svar = InputBox() ' Et eller andet i InputBox her...
      If Svar = False Then
          ' Hop til ark her, uden at skrive noget i cellen...
      End If

Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Sendt: 19.Jan.2017 kl. 12:37
Tak for du bruger tid på mig. Big smile
 
Har brugt flere dage på igen at arbejde / forsøge at finde ud af bygge en Userform.
Uden held endnu. Derfor har jeg anvendt InputBox.
Vil bruge din beskrivelse senere i nyt program jeg er i gang med.
 
Kan se, at Excelgaard ("Det venlige væsen") har sendt et svar som jeg lige vil kigge på og prøve af.
Skal finde udaf hvordan og hvor jeg skal sætte det ind, da jeg ikke kan se hvor jeg kan redigere inputboxen.
Hvor finder jeg "indgangs nøglen" til Inputbox?
Selve formlerne er ikke noget problem.
//Bjarne
Til top
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Sendt: 19.Jan.2017 kl. 12:46
Hej EXCELGAARD),Smile
 
Skal finde udaf hvordan og hvor jeg skal sætte dine vise ord ind, da jeg ikke kan se hvor jeg kan redigere inputboxen.
Hvor finder jeg "indgangs nøglen" til Inputbox? Question
Eksempel hvor & hvordan ændre jeg i command butten "Cancel"? Question
Selve formlerne tror jeg ikke bliver noget problem. Ermm
 
//Bjarne
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5412
Direkte link til dette indlæg Sendt: 19.Jan.2017 kl. 13:18
Ja, nu gør du mig noget forvirret???
Hvad mener du med 'indgangsnøgle' til 'Inputbox'???

Jeg vil anbefale dig, at benytte InputBox-metoden, i stedet for InputBox-funktionen.

Du kan finde en vejledning her:
https://msdn.microsoft.com/en-us/library/office/ff839468.aspx

Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Bjarne Se dropdown
Sølv bruger
Sølv bruger
Avatar

Medlem: 17.Sep.2010
Land: Danmark
Status: Offline
Point: 300
Direkte link til dette indlæg Sendt: 19.Jan.2017 kl. 13:44
Du skriver: Ja, nu gør du mig noget forvirret???
Så er vi 2!
Hvad mener jeg med 'indgangsnøgle' til 'Inputbox'??? Ja nu føler jeg mig gammel..Sandt nok.Wink
Indgangsnøglen = Vejledningen
Indgangsnøglen er netop det du anbefaler;
 at benytte InputBox-metoden, i stedet for InputBox-funktionen.

Da du dengang anbefalede, at bruge InputBox-funktionen, ja så brugte jeg den.
 (Kendte ikke til InputBox-metoden).

Har fundet vejledningen og udskrevet den.
https://msdn.microsoft.com/en-us/library/office/ff839468.aspx
 
Læser den igennem og afprøver om jeg kan finde ud af det.
Handshake
//Bjarne
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk