13. juni 2012 - 15:40Der er
12 kommentarer og 1 løsning
Problemer med udskrift
Jeg har problemer med nedenstående kode:
If MsgBox("Er den nyansatte it-bruger og skal oprettes i it-systemet?", vbYesNo + vbQuestion) = vbYes Then Application.EnableEvents = False Worksheets("IT").Visible = True Worksheets("IT").Select If ActiveSheet.Name = "Ansættelsesbrev" Then If Range("ekstraordinær_ansættelse") = "Løntilskud (jobtræning)" Or Range("ekstraordinær_ansættelse") = "Løntilskud (kontanthjælp)" Then GoTo slut End If If Sheets("ansættelsesbrev").Range("timeløn") = "x" And Range("valg_af_tidsbegrænset_ansættelse") = "Tilkaldevikar" Then Sheets("forhandlingsreferat").PrintOut Copies:=1, Collate:=True Sheets("Tilkaldevikar").Visible = True Sheets("tilkaldevikar").PrintOut Copies:=1, Collate:=True Sheets("Tilkaldevikar").Visible = False GoTo slut End If Sheets("forhandlingsreferat").PrintOut Copies:=1, Collate:=True GoTo slut End If End If
Msgbox spørgsmålet skal altid komme, men hvis activesheet = Ansættelsesbrev skal der også udskrives andre sheets afhængigt af de andre betingelser.
Problemerne: 1) Når man vælger ja, udskriver den ikke "Ansættelsesbrev", men istedet "IT" og kun det ark 2) Når udskrivningen er færdig, får man vist arket "IT", men når man markerer cellerne står man stadig i ansættelsesbrevet (ved godt det lyder underligt), men det er på samme måde som hvis man har valgt flere ark samtidig.
Det kan du have en pointe i, jeg er slet ikke et geni til det her, men jeg kan godt se at der er nogle modsætninger. Hvordan skal den så skrues sammen, hvis ansættelsesbrevet skal udskrives og bagefter skal IT vælges ?
If MsgBox("Er den nyansatte it-bruger og skal oprettes i it-systemet?", vbYesNo + vbQuestion) = vbYes Then Application.EnableEvents = False
'IT vises Worksheets("IT").Visible = True
'Denne Linie er slettet
'Hvis "Ansættelsesbrev" ikke er aktiv (valgt) ingen ting? If ActiveSheet.Name = "Ansættelsesbrev" Then
'Hvis celle "ekstraordinær_ansættelse" er = (jobtræning) eller (kontanthjælp) gås til slut If Range("ekstraordinær_ansættelse") = "Løntilskud (jobtræning)" Or Range("ekstraordinær_ansættelse") = "Løntilskud (kontanthjælp)" Then GoTo slut End If
'Hvis celle "timeløn" er = x og "valg_af_tidsbegrænset_ansættelse" er = "Tilkaldevikar" Udskrives 1 og 2 'Hvis ikke udskrives 3 If Sheets("ansættelsesbrev").Range("timeløn") = "x" And Range("valg_af_tidsbegrænset_ansættelse") = "Tilkaldevikar" Then '1 'forhandlingsreferat udskrives Sheets("forhandlingsreferat").PrintOut Copies:=1, Collate:=True 'Tilkaldevikar vises Sheets("Tilkaldevikar").Visible = True '2 'Tilkaldevikar udskrives Sheets("tilkaldevikar").PrintOut Copies:=1, Collate:=True 'Tilkaldevikar skjules Sheets("Tilkaldevikar").Visible = False 'It vælges Worksheets("IT").Select GoTo slut End If '3 'forhandlingsreferat udskrives Sheets("forhandlingsreferat").PrintOut Copies:=1, Collate:=True 'It vælges Worksheets("IT").Select GoTo slut
Det giver stadig det samme problem med at det er "forhandlingsreferat" og "IT" der udskrives, hvor det bør være ansættelsesbrev istedet for IT. Den underlige fejl med at det er "IT" der vises efter koden er kørt, men man bevæger sig i cellerne på ansættelsesbrevet, er der også stadig.
Det skal siges at jeg har lagt det ind i thisworkbook fremfor en makro. Den aktiveres ved udskriv, men det gør vel ingen forskel ?
Uddybning: Det giver stadig det samme problem med at det er "forhandlingsreferat" og "IT" der udskrives, hvor det bør være ansættelsesbrev istedet for IT = betingelse 3
Det er prøvet, men den aktiveres slet ikke ved udskriv. Det er heller ikke IT der skal udskrives. I betingelse 3 er det ansættelsesbrev = active.sheets + forhandlingsreferat der skal udskrives
Jeg endte med at kassere forslagene. Løsningen med at trykke på genvejstaster eller en kommandoknap, egner sig ikke til løsningen. Istedet har jeg set i øjnene at dette ikke kommer til at virke ved udskriv, så jeg har måttet udtænke en anden løsning.
Du er velkommen til at få pointene hvis du smider et svar.
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.