Side 1 af 1

indsætte data fra kildeark og returnere til arbejdsark

: 14. jul 2016 14:01
af soren
Jeg har brug for at lave en makro der kan kopiere celler i eet skjult ark og indsætte dem i et andet, aktivt ark.
Det hele skal foregå i een arbejdsgang.
Jeg har foreløbig optaget en makro der kopierer cellerne i eet ark. Og så har jeg optaget en anden makro der indsætter cellerne der hvor min cursor er placeret.
Min arbejdsgang pt er følgende:

Jeg arbejder i eet bestemt ark (der findes 14 forskellige arbejdsark, som alle har brug for samme makrofunktion) og har brug for at indsætte et bestemt celleområde fra et andet ark ("kilde")
1) I arbejdsarket: aktiver makro "kopier" herved ender jeg i selve kilde-arket.
2) I kildearket: tryk tilbage til arbejdsarket
3) i arbejdsarket: vælg celle og aktiver makro "indsæt".

Det er for mange arbejdsgange.
Jeg forestiller mig
1) en makro der finder arbejdsarkets reference og gemmer den til senere brug
2) makroen kopierer herefter de angivne celler
3) og vender tilbage til arbejdsarket via den gemte reference
4) herefter indsættes de kopierede celler i arbejdsarket

Alt dette må¨være muligt, men som sagt kan jeg ikke finde ud af at lave referencen korrekt.

Er der nogen, der har en løsning eller kan give et tip til, hvordan det kan løses?

mvh
Søren

Re: indsætte data fra kildeark og returnere til arbejdsark

: 16. jul 2016 09:48
af Jens S
Den indbyggede makrooptager er ikke meget anvendelig. Du kan skrive din egen makro på grundlag af Andrew Pitonyak vejledning https://www.dropbox.com/s/rvteletxa07zv ... o.odt?dl=0 Her er en vejledning under pkt 5.23 som du skal tilpasse dit formål.

mvh
Jens

Re: indsætte data fra kildeark og returnere til arbejdsark

: 3. nov 2016 19:47
af Lodahl
Er det altid det samme celle-område der skal kopieres?
Skal området indsættes på markørens position, eller et bestemt sted (samme sted hver gang) i arbejdsarket?

Re: indsætte data fra kildeark og returnere til arbejdsark

: 3. nov 2016 21:09
af Lodahl
Denne makro anvender klippe-klistre, hvilket desværre kun virker, så længe kilde-arket ikke er skjult. Kan du leve med det?

REM ***** BASIC *****

Sub Main
oDoc=thisComponent
Selection=oDoc.CurrentSelection.getRangeAddress
oSheets = oDoc.Sheets

SourceArea = oDoc.Sheets.getByName("Data").getCellRangeByName("A1:B8")

oDoc.CurrentController.Select(SourceArea)

document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dispatcher.executeDispatch(document, ".uno:Copy", "", 1, Array())

oSheet = oDoc.getSheets().getByIndex(Selection.Sheet)
oCell = oSheet.GetCellbyPosition( Selection.StartColumn, Selection.StartRow )
oDoc.CurrentController.Select(oCell)

dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

End Sub