Da qualche anno (con open office) non ho più creato una macro
Ora ho provato a farne una ma non mi funziona
Devo fare questo: spostare una colonna (già selezionata) davanti alla colonna precedente. da: aa bb CC dd a: aa CC bb dd
faccio cosi:
- seleziono una colonna
- registra macro
- ctrl + C
- foglio - elimina colonna
- con il mouse mi sposto di una colonna a sinistra
- foglio - inserisci colonna a sinistra
- ctrl + V
- termina
- sovrascrivo macro vecchia ( che comunque non andava)
provo:
- seleziono una colonna
- macro - esegui .- cerco ed eseguo la macro
non funziona (deseleziona solo la colonna e si sposta il cursore sulla colonna precedente)
Come devo fare? Dove sbaglio? (naturalmente quello che ho fatto a mano è corretto)
nb: non esiste la possibilità di eseguire una macro passo per passo per vedere dove è l'errore?
grazie per un aiuto
creare una macro
creare una macro
libre office 3.5 Mint Maya 13
Re: creare una macro
premesso che il registratore non sempre funziona non fare la selezione prima, per prima cosa attiva il registratore e poi fai le varie operazioni.
Per controllare step by step lancia la macro con F8
Per controllare step by step lancia la macro con F8
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: creare una macro
Ma se seleziono dopo l'inizio registrazione, la macro userà sempre quella colonna, mentre per me la colonna varia di volta in volta
Non ho capito come usare F8
Per provare la macro faccio 'strumenti > macro > esegui > seleziona la macro > esegui (se qui uso F8 non fa niente)
Forse devo fare diversamente?
grazie
Non ho capito come usare F8
Per provare la macro faccio 'strumenti > macro > esegui > seleziona la macro > esegui (se qui uso F8 non fa niente)
Forse devo fare diversamente?
grazie
libre office 3.5 Mint Maya 13
Re: creare una macro
Per usare F8 non devi fare Esegui, ma Organizza Macro.
Come ti ho detto il Registratore ha grossi limiti,in questo caso non capisce che deve lavorare sulla selezione, conviene imparare ad usare il linguaggio Basic (completamente diverso da quello del registratore)
Un buon testo con esempi lo trovi qui http://www.pitonyak.org/oo.php
Nel caso specifico la macro che ti serve non è banale:
Come ti ho detto il Registratore ha grossi limiti,in questo caso non capisce che deve lavorare sulla selezione, conviene imparare ad usare il linguaggio Basic (completamente diverso da quello del registratore)
Un buon testo con esempi lo trovi qui http://www.pitonyak.org/oo.php
Nel caso specifico la macro che ti serve non è banale:
Codice: Seleziona tutto
Sub scambiaColonneBC
doc=thiscomponent
Sh = Doc.Sheets(0)
c = Sh.createCursor
c.gotoEndOfUsedArea(false)
UltimaRiga = c.RangeAddress.EndRow + 1
'---- inserisci colonna B
oRangeAddress = Sh.getCellRangeByName("B1").getRangeAddress()
Sh.insertCells(oRangeAddress, com.sun.star.sheet.CellInsertMode.COLUMNS)
'.... copia D in B --------
oRange = Sh.getCellRangeByName("D1:D" & UltimaRiga)
Doc.CurrentController.select(oRange)
o = Doc.CurrentController.getTransferable()
oRange = Sh.getCellRangeByName("B1")
Doc.CurrentController.select(oRange)
Doc.CurrentController.insertTransferable(o)
'------- elimina D ----
Sh.Columns.removeByIndex(3, 1)
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta