?? Skrevet 22. desember 2008 Del Skrevet 22. desember 2008 Hei, Jeg har en Excelarbeidsbok med veldig mange ark og formler. Denne arbeidsboken består både av "innput-celler" og låste celler med formler. Det er flere forskjellige som skal benytte denne arbeidsboken, og det vil således finnes mange forskjellige ark, der innputcellene inneholder forskjellige informasjon. Ved en eventuell oppdatering av formlene i regnearket vil det være arbeidskrevende å legge inn alle data i arkene på nytt, og jeg lurte på om det er mulig å lage en makro, som henter all innputen fra innput-cellene i versjon 1, til versjon 2. Jeg går ut fra at det må lages kommandoer for hver enkelt celle. Noen som har peiling på hvordan denne makroen kan lages. Jeg fant følgende eksempel fra "hjelp", men fant ikke ut hvordan man velger at det skal komme fra et ark til et annet. Private Sub CommandButton1_Click() Worksheets("Sheet1").Range("B3:C4").Copy _ Destination:=Worksheets("Sheet1").Range("B3") End Sub Noen som kan oppdatere denne formelen bare for å vise hvordan skal skrive det for å hente dataene i cellene B3 til C4 fra Test v1.0.xls til Test v1.1.xls Lenke til kommentar
Alexen Skrevet 24. desember 2008 Del Skrevet 24. desember 2008 Hei og God jul ! Det du har der ser jo ut til å fungere innenfor en arbeidsbok -------------------------- Dim olddoc As Workbook Set olddoc = Workbooks.Open("c:\bok1.xlsm") olddoc.Worksheets("Ark1").Range("B3:C4").Copy _ Destination:=Worksheets("Ark1").Range("B3") Set olddoc = Nothing -------------------------- Det fungerte hos meg med excel 2007 der den gamle boka ligger i c:\ Lenke til kommentar
?? Skrevet 27. desember 2008 Forfatter Del Skrevet 27. desember 2008 Heisann, Takk for god hjelp, og god jul til deg også. Jeg måtte legge til en definisjon av dokumentet tallene skulle inn i også, for å få det til å funke slik at koden nå ser slik ut: ------------------------- Private Sub CommandButton1_Click() Dim olddoc As Workbook Dim newdoc As Workbook Set olddoc = Workbooks.Open("C:\Test v1.0.xls") Set newdoc = Workbooks.Open("C:\Test v1.1.xls") olddoc.Worksheets("Test").Range("B3:C4").Copy _ Destination:=newdoc.Worksheets("Test").Range("B3") Set olddoc = Nothing Set newdoc = Nothing End Sub ------------------------- Jeg har to oppfølgingsspørsmål som jeg lurer på om noen vet svaret på. 1. Er det mulig å benytte "relativ bane", i betegnelsen av filene. Slik at det ikke har noe å si hvilken mappe filene ligger i, bare de ligger i samme mappe som arket der jeg har laget makroen er? 2. Er det mulig å gjøre operasjonen uten å åpne arbeidsbøkene? De arbeidsbøkene makroen skal benyttes til er så store at på enkelte PC-er går det bare ann å åpne en av gangen, og det kommer opp at det er for lite minne om man prøver å åpne 2 stk. Lenke til kommentar
Harald Staff Skrevet 27. desember 2008 Del Skrevet 27. desember 2008 Til 1, mappen med filen koden kjøres fra heter Thisworkbook.Path Til 2, se http://spreadsheetpage.com/index.php/tip/a..._a_closed_file/ men hvis en excelfil er så stor at en kurant moderne pc har trøbbel, så er den et potensielt problem. Slike filer har det med å selvdestruere på verst mulige tidspunkt. Anbefaler veldig at dy rydder og renser. Beste hilsen Harald Lenke til kommentar
?? Skrevet 27. desember 2008 Forfatter Del Skrevet 27. desember 2008 Hei igjen, og takk for hjelpa. Har da fått satt opp en makro som fungerer etter intensjonen, og testet denne. Thisworkbook.Path funket bra, når det gjelder pkt 2 så dette forholdsvis omfattende ut, slik at jeg sparer nok å lære meg det til en senere anledning. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå