• 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.

Excel, bestand opslaan als "cel" gegevens

Status
Niet open voor verdere reacties.
hierbij het bestand

op werkblad 1 komen alle localisaties van "waar" bestanden moeten worden opgeslagen.
In tabblad 2 (Gegevensinvoer) worden alle "prestaties" geselecteerd, en gekopieerd naar werkblad 3.
Op werkblad 3 staat de (foute) macro, deze is te activeren door de button (knop) "terugkeren naar gegevensinvoer"
aan te kliken. De macronaam heet "terug_factuur".

met dank .
 

Bijlagen

  • invoer_gegevens_in_opbouw.rar
    89 KB · Weergaven: 73
Laatst bewerkt:
Beste Markdewi.
Ik heb je Excel facturatieoplossing bekeken en vraag me af of je eigenlijk niet beter van een Databaseprogramma gebruikt kunt maken . Zelf maken of ? Kijk eens hierna.http://www.monicom.nl/
Alle gegevens die je wilt gebruiken zijn beschikbaar. Tot 250 facturen is het gratis te gebruiken.
mvg
Esko
 
Probeer hem zo eens. Ik heb wel gezien dat cel B2 in gegevensinvoer een lege cel is ?
Code:
Sub Terug_factuur()
' Terug_factuur Macro
'
'
' Sneltoets: CTRL+a
'

' vanaf hier
If Dir(Application.DefaultFilePath & "\" & Worksheets("Gegevensinvoer").Range("B2").Value & ".txt") _
            = vbNullString Then GoTo EerstAanmaken
Open Application.DefaultFilePath & "\" & Worksheets("Gegevensinvoer").Range("B2").Value & ".txt" For Input As #10
Input #10, Nummer1
Close #10
EerstAanmaken:
Nummer1 = Nummer1 + 1
Open Application.DefaultFilePath & "\" & Worksheets("Gegevensinvoer").Range("B2").Value & ".txt" For Output As #10
Print #10, Nummer1
Close #10
'Noteer nu het opgehaalde factuurnummer in het werkblad
Application.Goto Reference:="Factuurnr."
ActiveCell.FormulaR1C1 = Nummer1
Application.Goto Reference:="Slachtoffer"

End Sub

Edit: Vindt jij je weg nog terug in dit bos van modules, verkeerd geplaatste macro's, dubbele macro's,driedubbele macro's .....enz ?
 
Laatst bewerkt:
volgnummer aanpassen

SCHITTEREND !
Het werkt !

je andere vragen:
- de diarree aan macro's en dubbele macro's: wat je hier ziet is een bijgewerkte versie van "verkoopsfactuur5.xls" die komt van
http://www.microsoft.com/netherlands/artikelen/financien/factureren5.aspx
die verder zeer goed werkt,
Ik moest "ergens" beginnen, en de bestaande module aanpassen was tot zover "redelijk" gelukt.
Ik heb dat aangepast naar eigen behoefte...

- cel B2 staat leeg... dat kan... maar alle gegevens staan op het 1e werkblad "begin_hier",
dus moeten we [ celB2 van het werkblad "gegevensinvoer" ] nog wijzigen in [ werkblad begin_hier en cel D24 ]

Als laatste....

- er staat nu nog een fout in de knop "volgnummer bijwerken" in werkblad "gegevens invoer"... de onderstaande macro moet nog worden aangepast, waarbij - zoals hierboven het tekstbestandje " FactuurNummer-deskundige-1.txt " moet worden vervangen door de "naam txt" die we ophalen in celB2 van het "gegevensinvoer"-werkblad....


- - - hier de aan te passen macro - - -
- - - - de macro naam is FactuurNummerAanpassen - - -

Public Sub LeesFactuurnummer()
pad$ = Application.DefaultFilePath
controle = Dir(pad$ + "\FactuurNummer-deskundige-1.txt")
If controle = "" Then
FactuurNummer1 = "1000"
Call Bewaarfactuurnummer
End If
Open pad$ + "\Factuurnummer-deskundige-1.txt" For Input As #10
Input #10, FactuurNummer1
Close #10
End Sub
- - -

hoe doe ik dat ??

reuze bedankt !
 
Code:
Public Sub LeesFactuurnummer()
    If Dir(Application.DefaultFilePath & "\" & Worksheets("Gegevensinvoer").Range("B2").Value & ".txt") _
            = vbNullString Then
        FactuurNummer1 = "1000"
        Call Bewaarfactuurnummer
    End If
    Open Application.DefaultFilePath & "\" & Worksheets("Gegevensinvoer").Range("B2").Value & ".txt" For Input As #10
    Input #10, FactuurNummer1
    Close #10
End Sub
    
Public Sub Bewaarfactuurnummer()
    Open Application.DefaultFilePath & "\" & Worksheets("Gegevensinvoer").Range("B2").Value & ".txt" For Output As #10
    Print #10, FactuurNummer1
    Close #10
End Sub
 
Bravo !
Alles werkt... maar ik zie dat factuurnummer/volgnummer, waarvan de naam opgehaald wordt in
Worksheets("Gegevensinvoer").Range("B2").Value & ".txt"
opgeslagen wordt in de map "mijn documenten",

Terwijl ik wil dat ze wordt opgeslagen in de map
" C:\Deskundigen_ereloon "
en submap " rechtbank_eerste_aanleg "

Deze gegevens staan in werkblad "begin_hier" in cel C19 en cel C20:
"C:\Deskundigen_ereloon" staat in cel C19
"rechtbank_eerste_aanleg" staat in cel C20

deze gegevens moeten dus bijgewerkt worden in de 2 macro's:
"Terug_factuur"
en
"FactuurnummerAanpassen"

nogmaals dank !
 
Laatst bewerkt:
Je hebt 2 mogelijkheden
1 Ga naar Extra >> Opties >> Algemeen en wijzig daar de standaardbestandslocatie naar jouw doellocatie. Op deze manier kan je alles laten zoals het is.

2 Wijzig alle regels met Application.DefaultFilePath door onderstaande regel.
Code:
[begin_Hier!C19].Value & "\" & [begin_Hier!C20].Value & "\" & [Gegevensinvoer!B2].Value & ".txt"
 
Prima ! Werkt 100%

Een laatste ding is de printmodule.
De macro kopieert dan de selecteerde gegevens naar een ander werkblad, verkleint, en maakt daar een "image" van, zodat de gegevens niet meer kunnen gewijzigd worden.
Tot daar werkt het...
Code:
'Bestandsnaam voor kopiebestand samenstellen
    
    x1$ = Range("begin_hier!LocatieFactuurbestanden")
    x2 = Range("ereloonstaat!ereloon2nummer")
    x3$ = "\": If Right$(x1$, 1) = "\" Then x3$ = ""
        Bestandsnaam$ = x1$ + x3$ + Trim$(Str$(x2)) + ".xls"
    If x1$ = "" Or x2 < 1 Then Bestandsnaam$ = ""
    
'Kopiebestand aanmaken
    Sheets("ereloonstaat").Select
    Venster1$ = ActiveWindow.Caption
    Range("B4:I67").Select
    Selection.Copy
    Workbooks.Add
    Venster2$ = ActiveWindow.Caption
    ActiveSheet.DropDowns.Add(144, 105.75, 248.25, 15.75).Select
    ActiveSheet.Paste
    Windows(Venster1$).Activate
    Range("B2").Select
    Application.CutCopyMode = False
    Windows(Venster2$).Activate
    Range("A1").Select

'Afmetingen van kopie aanpassen
With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.4)
        .RightMargin = Application.InchesToPoints(0.4)
        .TopMargin = Application.InchesToPoints(0.4)
        .BottomMargin = Application.InchesToPoints(0.4)
End With
    ActiveSheet.Shapes("Picture 2").Select
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 500
    Selection.ShapeRange.Width = 480
    DoEvents

Maar er is een functie om dat op te slaan, en daar loopt het mis...

de code hiervan is:

Code:
'Bestandsnaam voor kopiebestand samenstellen
    
    x1$ = Range("begin_hier!LocatieFactuurbestanden")
    x2 = Range("ereloonstaat!ereloon2nummer")
    x3$ = "\": If Right$(x1$, 1) = "\" Then x3$ = ""
        Bestandsnaam$ = x1$ + x3$ + Trim$(Str$(x2)) + ".xls"
    If x1$ = "" Or x2 < 1 Then Bestandsnaam$ = ""
    
'Kopiebestand aanmaken
    Sheets("ereloonstaat").Select
    Venster1$ = ActiveWindow.Caption
    Range("B4:I67").Select
    Selection.Copy
    Workbooks.Add
    Venster2$ = ActiveWindow.Caption
    ActiveSheet.DropDowns.Add(144, 105.75, 248.25, 15.75).Select
    ActiveSheet.Paste
    Windows(Venster1$).Activate
    Range("B2").Select
    Application.CutCopyMode = False
    Windows(Venster2$).Activate
    Range("A1").Select

'Afmetingen van kopie aanpassen
With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.4)
        .RightMargin = Application.InchesToPoints(0.4)
        .TopMargin = Application.InchesToPoints(0.4)
        .BottomMargin = Application.InchesToPoints(0.4)
End With
    ActiveSheet.Shapes("Picture 2").Select
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 500
    Selection.ShapeRange.Width = 480
    DoEvents

Foutmelding:
Compileerfout, er is een dubbelzinnige naam gevonden: ReageerOpTweedeKlik

Foutmelding 2:
Geel gearceerd: "FoutBijOpslaan"
Compileerfout: "naam is niet gedefinieerd"

Dit is vreemd, want dezelfde macro werkt wel in een andere facturatietoepassing, maar als ik de code kopieer naar deze excel sheet, werkt het niet.
De macro kan je vinden in het toegestuurd excel bestand en heeft de naam "verslagprinten(2)"

Weerom.... dank !!
 
Laatst bewerkt:
Post eens een nieuw bestand met enkel de macro's die je daadwerkelijk gebruikt en met alle tabbladen aanwezig waarin verwezen wordt in de macro's want je eerste bestandje is werkelijk een chaos.
 
Hierbij de bijgewerkte versie...

en in excel 2007 worden, bij het activeren van de "print" opdracht, de besturingselementen EN de knoppen waarmee de macro-opdrachten gestart worden, "mee gekopieerd" naar het nieuwe werkblad, terwijl in de versie 2000, dat niet gebeurde.... dat is vervelend, want nu kun je de besturingselementen niet meer "in het zicht" laten staan, anders komen ze mee op de print... Of is daar een "oplossing" voor ?
 

Bijlagen

  • invoer_gegevens_in_opbouw_30122009.rar
    87,7 KB · Weergaven: 49
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan