Pagina 1 di 1
[RISOLTO] macro Inserire i pulsanti del filtro automatico
Inviato: domenica 2 dicembre 2018, 0:58
da chimico
saluti ,
Voglio creare una macro di base in LibreOffice per inserire i pulsanti del filtro automatico nell'intervallo da "C1 a G1" in Sheet1 .
osservazione :
segue un file modello allegato e un'immagine della soluzione che sto cercando con Macro .
abbracci .
Re: macro Inserire i pulsanti del filtro automatico
Inviato: lunedì 3 dicembre 2018, 9:23
da patel
prova il registratore di macro da Strumenti, macro, registra
applica i filtri manualmente e poi clicca su Termina Registrazione
Re: macro Inserire i pulsanti del filtro automatico
Inviato: lunedì 3 dicembre 2018, 10:15
da chimico
saluti amico mio ,
Ho già provato il registratore di macro, ma non funziona per la regione da "C1 a G1" ?
ha il foglio di lavoro allegato per testare .
abbracci .
Re: macro Inserire i pulsanti del filtro automatico
Inviato: lunedì 3 dicembre 2018, 11:25
da Gaetanopr
Ti allego tuo file con area definita "FILTRO" con il seguente range $Sheet1.$C$1:$G$337
Poi lancia la macro Filtro
Saluti
Re: macro Inserire i pulsanti del filtro automatico
Inviato: lunedì 3 dicembre 2018, 12:23
da chimico
saluti Gaetanopr ,
Grazie per l'aiuto .
puoi aumentare l'area definita "FILTRO" con intervallo per più colonne, se aggiungo più colonne .
il numero di colonne può variare .
la macro deve "vedere" tutte le colonne con i valori e quindi inserire i "filtro" nelle colonne con i valori .
amici abbracci .
Re: macro Inserire i pulsanti del filtro automatico
Inviato: lunedì 3 dicembre 2018, 13:00
da Gaetanopr
La prossima volta specifica meglio, perchè nel messaggio iniziale dicevi altro, usa questa macro
Codice: Seleziona tutto
Sub Filtro 'L' AREA DEFINITA Filtro DEVE ESSERE GIA' PRESENTE
Dim oDir As New com.sun.star.table.CellRangeAddress
Doc = ThisComponent
Sh = Doc.getSheets.getByName("Sheet1")
a = Sh.createCursor
a.gotoEndOfUsedArea(false)
LastRow = a.RangeAddress.EndRow
LastCol = a.RangeAddress.EndColumn
DB = ThisComponent.DataBaseRanges()
RBD = DB.getByName("Filtro")
Nome = "Filtro"
If DB.hasByName(Nome) Then
RBD = DB.getByName(Nome)
oDir = Sh.getCellrangeByPosition(2, 0, LastCol, LastRow).RangeAddress
RBD.setDataArea( oDir )
End if
RBD.AutoFilter = True
End Sub
Saluti
Re: macro Inserire i pulsanti del filtro automatico
Inviato: lunedì 3 dicembre 2018, 16:14
da chimico
[Risolto]
sr. Gaetanopr ,
Grazie mille per il tuo aiuto .
grazie per aver riformulato la macro .
È stato fantastico .
amici abbracci .