rem Kode indsættes i ThisWorkbook i "ModtagerFilen"
Const kopierFraFil = "C:\Documents and Settings\pb\Skrivebord\0704KopierFraFil\Kildefil.xls" 'Tilpasses Dim kXls Sub KopierData() ActiveWorkbook.Sheets("Stamdata").Activate
Set kXls = CreateObject("Excel.Application") With kXls .Workbooks.Open kopierFraFil .Sheets("Stamdata").Activate .Range("C4:CW24").Select .Selection.Copy End With
ActiveSheet.Range("C4").Select ActiveSheet.Paste
kXls.Application.DisplayAlerts = False kXls.Quit Set kXls = Nothing
Hvad er forskellene i jeres bud på mit problem? Jeg har prøvet kabbak' forslag, fordi det så mest enkelt ud, men er der noget som Supertekst gør "bedre/anderledes"?
Super - Hvad nu hvis denne makro skal ligge i Stamdata.xls på G-drevet og skal kaldes af en makro i den fil, som den skal kopieres TIL - kan det lade sig gøre? Kan det lade sig gøre at kopier hele arket i stedet for et område og dermed erstatte et eksisterende ark - selvom der er kæder Til arket, som skal bibeholdes?
" Kan det lade sig gøre at kopier hele arket i stedet for et område og dermed erstatte et eksisterende ark - selvom der er kæder Til arket, som skal bibeholdes?"
denne overskriver alle celler i modtager arket, kæder burde bibeholdes, men prøv at tjekke
Sub KopierData() Application.ScreenUpdating = False Workbooks.Open Filename:="G:\test\stamdata.xls" Sheets("Stamdata").Cells.Copy ThisWorkbook.Sheets("Stamdata").Range("A!") ActiveWorkbook.Close False Application.ScreenUpdating = True End Sub
hvor for vil du have makroen i "Stamdata.xls på G-drevet ", du skal jo alligevel have en makro for at kalde den.
Arkene der kopieres over i ligger mange forskellige steder. Mange af de oplysninger og beregninger, der ligger i de ark, er af lovgivningsmæssig karakter, såsom Skatteregler og beløb. Når der så sker mindre ændringer i lovgivningen, er det så meningen at jeg vil lave en lille makro, der laver ændringen. Det kunne være ny beregningsmåde af ejendomsværdiskatten, ny skat, sletning af en gammel skat (Topskat hvis vi er heldige ;-) ) eller noget helt andet. Opdateringen sker så ved at køre en makro fra arket med beregningerne, der så henter Stamdata fra G-drevet og køre en makro med ændringerne. (Jeg kender jo ikke de evt. ændringer endnu, så det er lidt svært at lave makroerne nu) Der er nu ca. 200 filer, der skal laves om og indtastes i mit nye ark. Det har givet en del "uro" i afdelingen. Derfor vil jeg i den nye version kunne klare mindre ændringer uden at der skal indtastes om!
Du har fuldstændig ret :-) Jeg har stillet det spørgsmål nogle gange efterhånden uden held, så dette var et forsøg på at tage et step ad gangen. Det lykkedes så heller ikke :-) Hvis du finder en løsning, så er der max point at hente. Du kan evt. sende en mail på henrik@southfarm.dk
Smid et svar!
Der var lige indsneget sig en lille fejl i dit forslag:
Sub KopierData() Application.ScreenUpdating = False Workbooks.Open Filename:="G:\test\stamdata.xls" Sheets("Stamdata").Cells.Copy ThisWorkbook.Sheets("Stamdata").Range("A1") <--- ActiveWorkbook.Close False Application.ScreenUpdating = True End Sub
Jeg havde set fejlen, 1 og ! er på på samme tast, og man så ikke når at slippe Shift efter stort A, så glipper det.
Jeg regnede med at du selv fandt ud af det ;-))
Synes godt om
Ny brugerNybegynder
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.