• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA onverklaarbare fout en VBA print functie in macro

Status
Niet open voor verdere reacties.

SidneyR

Gebruiker
Lid geworden
17 sep 2012
Berichten
45
Om het overzichtelijk te houden ben ik nogmaals een nieuwe vraag begonnen.

Ik had een werkend bestand en dacht een juiste/werkende backup gemaakt te hebben. Echter toen het ene bestand niet foutloos werkte ben ik naar de backup gegaan. Tot mijn verbazing kwam hier dezelfde fout. Wat mij nu opvalt, had namelijk nog een andere backup ergens anders op mijn pc. Dat als ik die open vanaf de locatie waar dat xlsm bestand staat krijg ik geen foutcode. Wanneer ik dat bestand naar de juiste locatie zet en ik open het vervolgens nog een keer. Krijg ik ineens wel een fout. Ik heb het idee dat ik gek word!

Hieronder de knipsels als ik werk met het fouten bestand ( althans niks veranderd alleen de locatie van het bestand gewijzigd, van mijn bureaublad naar een map op de partitie D.)
Deze knipsels doen zich voor als ik naar de de gemaakte factuur open ( mapje facturen op het bureaublad)

_____________________________________________________________________________________________________________


De andere vraag: of het mogelijk is om in het goede bestand 'factuur3' een optie printen aan de macro toe te voegen. Ik zou dan graag zien dat het bestand opgeslagen wordt, het tabblad factuur geprint en de huidige gegevens wissen om de volgende factuur te maken.

Ik heb zelf iets gevonden met de
Code:
( Sheets("Factuur").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True)

Dit heb ik vervolgens in de huidige module erbij gezet en kwam toen tot de conclusie dat hij wel ging printen maar dit leverde een foutopsporing (fout 1004) op. (regel Range("C10").ClearContents)
Ik heb deze in de versie Factuur3 eruit gelaten.

Wat ook van belang is dat wanneer er geprint wordt dat dus het tabblad factuur geprint wordt maar hij dient deze eerst passend te maken voor 1 pagina.

Wanneer iets een extra toelichting nodig hoor ik het graag!
Het tot nu toe huidige bestand en werkend is toegevoegd.

Alvast heeeeeel erg bedankt!
 

Bijlagen

  • Knipsel1.JPG
    Knipsel1.JPG
    20,6 KB · Weergaven: 43
  • Knipsel2.JPG
    Knipsel2.JPG
    31,4 KB · Weergaven: 53
  • Knipsel3.JPG
    Knipsel3.JPG
    62,8 KB · Weergaven: 47
  • Factuur3.xlsm
    52 KB · Weergaven: 21
Code:
NieuwFact = "C:\Users\Sidney\Desktop\facturen\Fact" & Range("I5").Value & ".[COLOR="#FF0000"]xlsx[/COLOR]"
Je slaat een bestand met een macro op met een extensie van xlsx.

Dit kan niet, macrobestanden worden opgeslagen met een extensie van xlsm
 
Dus zo:
Code:
ActiveWorkbook.SaveAs NieuwFact, FileFormat:=52
 
Code:
NieuwFact = "C:\Users\Sidney\Desktop\facturen\Fact" & Range("I5").Value & ".[COLOR="#FF0000"]xlsx[/COLOR]"
Je slaat een bestand met een macro op met een extensie van xlsx.

Dit kan niet, macrobestanden worden opgeslagen met een extensie van xlsm
Dus zo:
Code:
ActiveWorkbook.SaveAs NieuwFact, FileFormat:=52

Dit is niet wat het probleem is. Het probleem blijft zich voordoen als ik het bestand naar een andere partitie verplaats.
 
Ik heb weer iets geleerd.
Namelijk het opnemen van een macro.

Nu heb ik dus een aparte macro gemaakt, zie onderstaande code.
Mijn uiteindelijke vraag is nu: hoe kan ik deze code integreren in de module 1 (macro1= het opslaan en het wissen van de gegevens)
Overigens de aparte macro Printenfactuur werkt perfect als ik op de knop druk gaat hij gelijk printen.
Code:
Sub PrintenFactuur()
'
' PrintenFactuur Macro
'

'
    Sheets("Factuur").Select
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 300
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
        Sheets("Invoer").Select
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan