Základní řešení pro seskupit jednu skupinu:
Sub DejMatici
Dim oCell As Object
oCell = ThisComponent.CurrentController.getSelection()
With oCell.RangeAddress
SH = .Sheet
SC = .StartColumn
SR = .StartRow
ER = .EndRow
End With
SeskupitRows(SH, SC, SR, ER)
End Sub
Sub SeskupitRows(ByVal SH as integer,ByVal SC as long, ByVal SR as long, ByVal ER as long)
Dim oDoc as Object
Dim oSheet as Object
Dim oCellAdr as Object
oDoc = ThisComponent
oSheet = ThisComponent.currentcontroller.activesheet
oCellAdr = createUnoStruct("com.sun.star.table.CellRangeAddress")
with oCellAdr
.Sheet = SH
.StartColumn = SC
.StartRow = SR
.EndRow = ER
end with
oSheet.group( oCellAdr, com.sun.star.table.TableOrientation.ROWS )
msgbox("Seskupeno",0,"Hotovo")
End Sub
Šlo by to postavit na celý výčet, ale nevím například zda poslední případ - položka 47 se má udělat do jednoho seskupení nabo do dvou (řádky 32 až 41).
Mělo by to fungovat na každém aktivním souboru, sešitu i listu tak, že vyberete úsek a spustíte makro. Jde o řádky takže je jedno ve kterém sloupci uděláte výběr.
Pokud to takto postačuje můžete makro zadat do šablony a otevírat přímo šablonu už s funkčními makry, nebo si to nakopírujte do "Moje makra LO" a vždy to raději nakopírujte přímo do sešitu i když se to dá deklarovat pro všechny sešity jako "Global" a podobně.
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ