Avatar billede hepygula Nybegynder
14. maj 2007 - 21:02 Der er 8 kommentarer og
1 løsning

tilføj kopi ved 2 udskrift

Hej eksperter.

Jeg har entlig 2 spørgsmål.

1. Når den skal udskrive en faktura, altså 1 til kunden og en til en selv. Der skal jeg have vba koden til at tilføje "kopi" på den 2 udskrift. Det skal stå i celle B 48. Ved ikke om man kan centerer det midt i cellen. Den kode der er lagt ved, udskriver et skjult akr. Men synes ikke at det er så godt, som jeg troede.

2. Så vil jeg gerne have at den gemmer fakturaen, men kun det aktive ark ( Faktura ). Da det vil fylde mindre end at gemme hele faktura prg. hver gang.

Jeg har en vba kode hvor det skal flettes ind i.

Private Sub CommandButton1_Click()


'Gem og udskriv faktura

Const xsti = "g:\Faktura\excelfakturaDB\"      'tilpasses
Dim nummer
Dim kunde
  On Error Resume Next
  Range("A1:D55").PrintOut copies:=2, Collate:=True
 
  Application.ScreenUpdating = False

Sheets("Ark6").Visible = True
Sheets("Ark6").Activate
ActiveSheet.Range("A1:D55").PrintPreview
Sheets("Ark6").Visible = False

Application.ScreenUpdating = True

 
 
 
 
  nummer = ActiveWorkbook.Sheets(1).Cells(8, 4)  'skal tilpasses
  kunde = ActiveWorkbook.Sheets(1).Cells(4, 2)
 
  ActiveWorkbook.SaveAs Filename:= _
  "g:\Faktura\excelfakturaDB\" + CStr(kunde) + "\faktura_" + nummer + ".xls", FileFormat:=xlNormal, _
  Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
  CreateBackup:=False
 
  Workbooks.Open Filename:= _
        "g:\Faktura\excelfakturaDB\Laves auto faktura.xlt" ' ret til den fil du åbner ved ny faktura


  ThisWorkbook.Saved = True
  ActiveWorkbook.Close


End Sub
Avatar billede kabbak Professor
14. maj 2007 - 21:10 #1
1.
ret
Range("A1:D55").PrintOut copies:=2, Collate:=True

til

Range("A1:D55").PrintOut copies:=1, Collate:=True
range ("B48") ="KOPI" ' skriver kopi i cellen
Range("A1:D55").PrintOut copies:=, Collate:=True
range ("B48") =""' fjerner kopi igen
Avatar billede kabbak Professor
14. maj 2007 - 21:12 #2
der var smuttet et 1 tal, men burde også virke sådan

Range("A1:D55").PrintOut
range ("B48") ="KOPI" ' skriver kopi i cellen
Range("A1:D55").PrintOut
range ("B48") =""' fjerner kopi igen
Avatar billede kabbak Professor
14. maj 2007 - 21:25 #3
Prøv denne, er ikke testet

Private Sub CommandButton1_Click()

'Gem og udskriv faktura

Const xsti = "g:\Faktura\excelfakturaDB\"      'tilpasses
Dim nummer
Dim kunde
  'On Error Resume Next
Range("A1:D55").PrintOut
Range("B48") = "KOPI" ' skriver kopi i cellen
Range("A1:D55").PrintOut
Range("B48") = "" ' fjerner kopi igen

  Application.ScreenUpdating = False

Sheets("Ark6").Visible = True
Sheets("Ark6").Activate
ActiveSheet.Range("A1:D55").PrintPreview
Sheets("Ark6").Visible = False

Application.ScreenUpdating = True





  nummer = ActiveWorkbook.Sheets(1).Cells(8, 4)  'skal tilpasses
  kunde = ActiveWorkbook.Sheets(1).Cells(4, 2)
 
  Sheets("Faktura").Copy ' ret til navnet på dit faktura ark
 
 
  ActiveWorkbook.SaveAs Filename:= _
  "C:\Faktura\excelfakturaDB\" + CStr(kunde) + "\faktura_" + nummer + ".xls", FileFormat:=xlNormal, _
  Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
  CreateBackup:=False

 
  Workbooks.Open Filename:= _
        "g:\Faktura\excelfakturaDB\Laves auto faktura.xlt" ' ret til den fil du åbner ved ny faktura


  ThisWorkbook.Saved = True
  ThisWorkbook.Close


End Sub
Avatar billede kabbak Professor
14. maj 2007 - 21:27 #4
en rettelse

Private Sub CommandButton1_Click()

'Gem og udskriv faktura

    Const xsti = "g:\Faktura\excelfakturaDB\"      'tilpasses
    Dim nummer
    Dim kunde
    'On Error Resume Next
    Range("A1:D55").PrintOut
    Range("B48") = "KOPI"    ' skriver kopi i cellen
    Range("A1:D55").PrintOut
    Range("B48") = ""    ' fjerner kopi igen

    Application.ScreenUpdating = False

    Sheets("Ark6").Visible = True
    Sheets("Ark6").Activate
    ActiveSheet.Range("A1:D55").PrintPreview
    Sheets("Ark6").Visible = False

    Application.ScreenUpdating = True
    nummer = ActiveWorkbook.Sheets(1).Cells(8, 4)  'skal tilpasses
    kunde = ActiveWorkbook.Sheets(1).Cells(4, 2)

    Sheets("Faktura").Copy    ' ret til navnet på dit faktura ark


    ActiveWorkbook.SaveAs Filename:= _
                          "C:\Faktura\excelfakturaDB\" + CStr(kunde) + "\faktura_" + nummer + ".xls", FileFormat:=xlNormal, _
                          Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
                          CreateBackup:=False

    ActiveWorkbook.Close
    Workbooks.Open Filename:= _
                  "g:\Faktura\excelfakturaDB\Laves auto faktura.xlt"    ' ret til den fil du åbner ved ny faktura

    ThisWorkbook.Saved = True
    ThisWorkbook.Close
End Sub
Avatar billede hepygula Nybegynder
14. maj 2007 - 21:30 #5
Hej Kabbak

det virker som det skal. :-)

Har du også et svar til mit 2 spørgsmål ? Hvordan jeg gemmer det aktive ark. Sådan at man kun gemmer et ark.

Hilsen hepygula
Avatar billede kabbak Professor
14. maj 2007 - 21:31 #6
det er det du skal teste, om den sidste kode gør
Avatar billede hepygula Nybegynder
14. maj 2007 - 21:32 #7
undskyld hvade ikke lige set at du havde lagt det ud.
Avatar billede hepygula Nybegynder
14. maj 2007 - 21:36 #8
Det virker som det skal. :-)

Tak for hjælpen.

Hvis du lægger et svar, giver jeg point.
Avatar billede kabbak Professor
14. maj 2007 - 21:36 #9
et svar ;-))
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester