indsætte data fra kildeark og returnere til arbejdsark

Brugerhjælp og support til makroer i LibreOffice Basic

Redaktører: Lodahl, LarsBrandi

Besvar
soren
Indlæg: 18
Tilmeldt: 12. aug 2011 17:24

indsætte data fra kildeark og returnere til arbejdsark

Indlæg af soren » 14. jul 2016 14:01

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

Jens S
Indlæg: 1091
Tilmeldt: 25. mar 2007 22:42

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

Indlæg af Jens S » 16. jul 2016 09:48

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

Brugeravatar
Lodahl
Indlæg: 1958
Tilmeldt: 14. sep 2005 08:27
Geografisk sted: Storkøbenhavn
Kontakt:

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

Indlæg af Lodahl » 3. nov 2016 19:47

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?
Med venlig hilsen

Leif Lodahl
Blog: https://libreofficedk.blogspot.dk
LibreOffice: http://da.libreoffice.org

Brugeravatar
Lodahl
Indlæg: 1958
Tilmeldt: 14. sep 2005 08:27
Geografisk sted: Storkøbenhavn
Kontakt:

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

Indlæg af Lodahl » 3. nov 2016 21:09

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
Med venlig hilsen

Leif Lodahl
Blog: https://libreofficedk.blogspot.dk
LibreOffice: http://da.libreoffice.org

Besvar

Hvem er online

Brugere der viser dette forum: Ingen og 2 gæster