26. oktober 2003 - 10:32Der er
11 kommentarer og 1 løsning
Optælling i felt når der printes.
Jeg har et regneark som bruges som ordreseddel. I et felt I1, står der et ordrenummer. Jeg vil gerne have dette nummer til at tælle op, hver gang der printes en side ud. Altså hver gang regnearket bliver printet ud. Det skal dog fungere således, at vælger man at printe f.eks 100 ud, så skal der tælles 1 op på ordrenummeret på hvert print.
Det skal ige siges at jeg absolut ikke har det sorte bælte i Excel, så hvis der er noget jeg har forklaret ufyldestgørende, så må I sige til, så skal jeg nok prøve at gøre det bedre ;o)
sp = så ... Dette virker for det første ark (ark 1) hvis du har et ark der hedder f.eks. OrdreSeddel kan du i stedet bruge:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Worksheets("OrdreSeddel").Range("i1").Value = Worksheets("OrdreSeddel").Range("i1").Value + 1 End Sub
Tak for hjælpen. Der er dog et lille problem. Så længe jeg kun skriver 1 side ud af gangen, så tæller regnearket fint op. Men vælger jeg print og vælger flere antal kopier, f.eks 10, så tæller regnearket kun 1 op i feltet i1, og skriver 10 ens kopier ud.
OK. Sig til hvis du vil have flere point for det.. ;o) Så vidt jeg kan rationalisere mig frem til, så er det noget med at lave en komandoknap. Det jeg forestiller mig er, en dialogboks der spørger hvor mange udskrifter der skal skrives ud. Dette kommer i en variabel. Så laves en løkke. Løkken forløber nogenlunde således: tæl felt i1 1 op, print 1 side ud, træk 1 fra variablen, er variablen større end 0 køres den igen. Men hvordan sådan noget laver i excel, det aner jeg ikke.....
Nu har jeg selv biflet noget sammen til en komandoknap, og det ser ud til at virke. Men jeg kan ikke få en dialog boks op, der kan sætte en variabel ned i MyPrints. Kan det lade sig gøre?? Den skal vel ind mellem deklarationen af variablen MyPrints og Do While løkken. Her er hvad jeg har bikset sammen:
Private Sub CommandButton1_Click() MyPrints = 0 Do While MyPrints >= 0 Worksheets(1).Range("i1").Value = Worksheets(1).Range("i1").Value + 1 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True MyPrints = MyPrints - 1 Loop
Så er problemet næsten løst. Utrolig hvad man kan når man bliver stædig, og ikke har noget imod at lære ;o) Løsningen blev: Private Sub CommandButton1_Click() MyPrints = 5 MyPrints = Application.InputBox("Vælg antal udskrifter") Do While MyPrints > 0 Worksheets(1).Range("i1").Value = Worksheets(1).Range("i1").Value + 1 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True MyPrints = MyPrints - 1 Loop
End Sub
Nu vil jeg gerne have at min Command Button ikke er synlig på mine udskrifter, er dette så muligt?
Det er netop problemet med dialogboksen, som jeg bakser med - jeg troede at man kunne bruge Application.Dialogs(xlDialogPrint).Show. En hurtig løsning er MyPrints = InputBox("Antal kopier", "", 1)
Tak for at sætte mig på rette spor. Du har fået pointene Fuglsang.
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.