(Risolto) Macro per visualizzare cella vuota

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

(Risolto) Macro per visualizzare cella vuota

Messaggio da finoalmattino »

Salve . Il problema è: in un foglio nella colonna "A" ho bisogno di posizionarmi ogni volta nella prima cella vuota. Vorrei trovare una macro che praticamente sostituisca il filtro. Visto che in tanti tentativi la macro non riconosce il filtro. Grazie.
Allegati
ES.1.ods
(8.65 KiB) Scaricato 95 volte
Ultima modifica di finoalmattino il lunedì 25 novembre 2013, 7:53, modificato 2 volte in totale.
open office 3.2 su windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per visualizzare cella vuota

Messaggio da patel »

Codice: Seleziona tutto

Sub trovaultimarigapiena
oSheet = ThisComponent.Sheets(0)
c = oSheet.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow
print LastRow
End Sub
la prima vuota sarà LastRow + 1

ma forse ho capito male
Ultima modifica di patel il giovedì 14 novembre 2013, 18:52, modificato 1 volta in totale.
-------------------
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
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 3068
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Macro per visualizzare cella vuota

Messaggio da lucky63 »

finoalmattino ha scritto:IN UN FOGLIO NELLA COLONNA "A" HO BISOGNO DI POSIZIONARMI OGNI VOLTA NELLA PRIMA CELLA VUOTA . VORREI TROVARE UNA MACRO
Vedi allegato
Allegati
Test - Posizionarsi sulla prima cella libera presente in colonna A utilizzando una Macro.ods
(15.27 KiB) Scaricato 135 volte
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

Re: Macro per visualizzare cella vuota

Messaggio da finoalmattino »

Grazie lucky e' q.llo che cercavo.Per farlo funzionare su altri fogli o colonne ?
P.s chiedo scusa per le maiuscole nell'argomento ma son dovute al mio non vedere bene. Nel richiamo avuto dall'amministratore, mi ha scritto che le maiuscole sono equiparate a delle grida..allora facciamo che nella realta' non vedo tanto bene e nel forum non sento tanto bene e ho gridato.. :) . cmq grazie ancora e mi scuso di nuovo..
open office 3.2 su windows 7
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

Re: Macro per visualizzare cella vuota

Messaggio da finoalmattino »

Funziona ! Si sara' riposata un attimo :)
open office 3.2 su windows 7
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 3068
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Macro per visualizzare cella vuota

Messaggio da lucky63 »

finoalmattino ha scritto:Per farlo funzionare su altri fogli o colonne ?
Nello stesso File può essere impiegata in qualsiasi foglio sempre come riferimento alla colonna A

Per farla funzionare su una colonna diversa cambia la lettera di riferimento della colonna con quella di preferenza in questa riga di codice presente nella macro.

Codice: Seleziona tutto

args1(0).Value = "$A$1"
Per farla funzionare in un foglio su colonna A e sullo stesso foglio (o altro foglio) su altra colonna (Esempio colonna C ) devi creare un duplicato della macro cui darai nome diverso e nella riga di codice suddetta apporti la modifica della lettera corrispondenza. Ogni Macro da associarsi a un pulsante diverso
...
la Macro è stata creata tramite il registratore di macro e con qualche tentativo in più potevi riuscirci anche tu ...

Codice: Seleziona tutto

sub PosizionatiSuPrimaCellaVuotaInColonnaA
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1" 'Funziona sulla colonna A

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())


end sub



sub PosizionatiSuPrimaCellaVuotaInColonnaC
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$C$1" 'Funziona sulla colonna C

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())


end sub
Allegati
Test - Posizionarsi sulla prima cella libera presente in colonna A o C utilizzando Macro.ods
(17.15 KiB) Scaricato 102 volte
Rispondi