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

Macro voor het inlezen van gegevens

Status
Niet open voor verdere reacties.

Bert2010

Gebruiker
Lid geworden
18 aug 2010
Berichten
61
Beste specilisten,
Ik heb problemen met het inlezen van gegevens. Zie bijlage.
Eerst wordt de Proformafactuur gemaakt, geprint en opgeslagen.
Voordat de Factuur gemaakt wordt zitten meestal enkele dagen. Om te voorkomen dat alle gegevens opnieuw moeten worden ingevuld ben ik bezig een macro te schrijven die als de Proformafactuur geopend wordt de gegevens op de juiste plaats in de Factuur zet. Als het kan in de macro (Open_Proformafactuur). De layout van de factuur moet behouden blijven, dus boven 3 blanco regels, dit i.v.m. andere formules. Om privacy is de rest van de Factuur weg gelaten. Wie heeft voor mij de oplossing?
B.h.d.
Bert
 

Bijlagen

Ik begrijp het niet helemaal ben ik bang.
Er zijn 2(?) bestanden Proformafactuur en Factuur.
Eerst wordt een proformafactuur gemaakt en na enkele dagen een factuur.

Is de proformafactuur een verzamelbestand of is elk proformafactuur apart?
Je wilt code toevoegen aan de macroknop maar ik zat te denken om bij het openen van het bestand al de nodige gegevens op te halen eventueel na het invoeren van de factuur - of volgnummer.
Overigens hóéf je geen bestanden te openen om gegevens op te halen.
Je zou ook uit gesloten bestanden gegevens op kunnen halen.

Met vriendelijke groet,


Roncancio
 
Inderdaad elke Proformafactuur is appart, elke Proformafactuur heeft een eigen Volgnummer. Als het mogelijk is de benodigde gegevens uit de Proformafactuur in de Factuur in te lezen zonder de Proformafactuur te openen zou dit zeer welkom zijn. Anders moet de Proformafactuur na het inlezen steeds weer gesloten worden of is dit ook in de macro in te bouwen.
Ik houd me voor alle sugesties aanbevolen, ik ben nog een beginner op dit gebied.
Ik was ondertussen verder gegaan(zie nieuwe bijlage). Echter de in de macro vermelde 12345.xlsx zou een variabele moeten zijn, afhankelijk van het Volgnummer van de Proformafactuur. In het ook mogelijk de geopende Proformafactuur via deze macro te sluiten?
 

Bijlagen

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("AH6")) Is Nothing Then
    If Range("AH6") <> "" Then
        [AH8].Value = ExecuteExcel4Macro("'[B][COLOR="red"]C:\directory[/COLOR][/B]\[" & [AH6].Value & ".xls]Gegevens'!r5c34")
        [F8].Value = ExecuteExcel4Macro("'[COLOR="red"][B]C:\directory[/B][/COLOR]\[" & [AH6].Value & ".xls]Gegevens'!r5c6")
    Else
        [AH8].Value = ""
        [F8].Value = ""
    End If
    
End If
End Sub

Plaats bovenstaande code bij het werkblad (in VBE) en wijzig het pad (vetgedrukte, rode gedeelte in code) naar je situatie.
Zodra een waarde wordt ingevoerd in cel AH6 (bijvoorbeeld 12345) dan worden de gegevens van de betreffende bestand gehaald.

Met vriendelijke groet,


Roncancio
 
Macro voor het inlezen van gegevens (werkt helaas nog niet!)

Bij het gebruik van de vermelde code krijg ik de volgende foutmelding: #VERW!
M.i. zijn de verwijzigingen wel goed. Graag een reactie.

Met vriendelijke groet,

Bert

Voor de duidelijkheid heb ik zowel Gegevens.xsml als de 12345.xlsx files bijgevoegd.
 

Bijlagen

2 dingen:
1. .xls was overbodig.
2. De bladnaam kwam niet overeen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("AH6")) Is Nothing Then
    If Range("AH6") <> "" Then
        [AH8].Value = ExecuteExcel4Macro("'C:\Proformagegevens\[" & [AH6].Value & "]Blad1'!r5c34")
        [F8].Value = ExecuteExcel4Macro("'C:\Proformagegevens\[" & [AH6].Value & "]Blad1'!r5c6")
    Else
        [AH8].Value = ""
        [F8].Value = ""
    End If
    
End If
End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan