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

Data van documenten op server automatisch kopiëren naar document op zelfde server

Status
Niet open voor verdere reacties.

vlotter33

Gebruiker
Lid geworden
9 jan 2014
Berichten
98
Beste,
Graag zou ik data van documenten in verschillende mappen automatisch kopiëren naar een document in een andere map.
Ik heb dit opgemaakt in een macro, maar dit werkte niet. Moet ik iets extra doen omdat die documenten niet lokaal staan, maar op een server? Hoe kan ik dit oplossen?
Alvast hartelijk dank
 
Dat kan uiteraard. Maar niet zonder dat je meer verteld over server adres, documentnamen en laat zien wat je al hebt gedaan dat niet werkt.
 
Beste Edmoor,
in bijlage stuur ik je mijn xlsm, waarin de macro staat. Bekijk bijlage verzameldoc.xlsm
En mijn vragen + bijkomende info mbt brondocumenten
Nogmaals hartelijk dank voor je hulp


Sub InfoUitAndereDocs()
'
' InfoUitAndereDocs Macro
'

Hoe kan ik aangeven welk document ik heb geopend? Het document staat op "R:\Property Consultants\PIPELINE\PL\PL.xlsm"

Is volgende lijn noodzakelijk? Of is de daaropvolgende lijn “Range("A18:CY1017").Select” voldoende?
Application.Goto Reference:="R1017C103"
Range("A18:CY1017").Select
Range("CY1017").Activate
Selection.Copy
Windows("verzameldoc.xlsm").Activate
Range("A10").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
In volgende lijn wordt het eerste input document gesloten. Maar hoe kan ik aangeven welk document wordt gesloten?
ActiveWindow.Close

Hoe kan ik aangeven welk document ik heb geopend? Het document staat op "R:\Property Consultants\PIPELINE\AS\AS.xlsm"

Is volgende lijn noodzakelijk? Of is de daaropvolgende lijn “Range("A18:CY1017").Select” voldoende?
Application.Goto Reference:="R1017C103"
Range("A18:CY1017").Select
Range("CY1017").Activate
Selection.Copy
Windows("verzameldoc.xlsm").Activate
Application.Goto Reference:="R1010C1"
Range("A1010").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.Goto Reference:="R1C1"
Application.CutCopyMode = False
ActiveWorkbook.Save
In volgende lijn wordt het tweede input document gesloten. Maar hoe kan ik aangeven welk document wordt gesloten?
ActiveWindow.Close
End Sub

Bijkomend: in realiteit copier ik uit 12 documenten steeds de info van A18:CY1017 en paste de waarde in eenzelfde tab in mijn doeldocument. De 1e keer wordt dit gecopieerd naar cel A10, de 2e keer naar cel 1010, de 3e keer naar cel 2010 en zo steeds 1000 lijnen verder.
Is het verstandig om dit meteen in 1 document te doen?
OF beter telkens vanuit 1 brondocument naar 1 tab in doeldocument? En dit 12 x doen. En dan een macro om de info uit die 12 tabs te verzamelen?
 
Hoe kan ik aangeven welk document ik heb geopend? Het document staat op "R:\Property Consultants\PIPELINE\PL\PL.xlsm"
ThisWorkbook.Fullname

Is volgende lijn noodzakelijk? Of is de daaropvolgende lijn “Range("A18:CY1017").Select” voldoende?
De regel met Range("CY1017").Activate is niet nodig.

In volgende lijn wordt het tweede input document gesloten. Maar hoe kan ik aangeven welk document wordt gesloten?
ActiveWindow.Close

Bijkomend: in realiteit copier ik uit 12 documenten steeds de info van A18:CY1017 en paste de waarde in eenzelfde tab in mijn doeldocument. De 1e keer wordt dit gecopieerd naar cel A10, de 2e keer naar cel 1010, de 3e keer naar cel 2010 en zo steeds 1000 lijnen verder.
Is het verstandig om dit meteen in 1 document te doen?
OF beter telkens vanuit 1 brondocument naar 1 tab in doeldocument? En dit 12 x doen. En dan een macro om de info uit die 12 tabs te verzamelen?

Je kan het beste werken met Workbook objecten:
Dim WB1 As Workbook
Set WB1 = Workbooks.Open("R:\Property Consultants\PIPELINE\PL\BronDoc1.xlsx")

Zo kan je aangeven op welk document je een bewerking wilt loslaten en heb je ThisWorkbook niet direct nodig.
Alleen als je het document wilt gebruiken waarin je VBA code draait. Bijvoorbeeld:

Dim WB1 As Workbook
Dim WB1A1 As String
Set WB1 = Workbooks.Open("R:\Property Consultants\PIPELINE\PL\BronDoc1.xlsx")
WB1A1 = WB1.Sheets("Blad1").Range("A1")


PS:
In Excel praten we niet over lijnen maar over regels, of rijen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan