Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Včera 21:19:16

Petr82
Člen
Registrace: 15. 1. 2021
Příspěvků: 5

Re: Makro na Seskupit... (F12)

Omlouvám se, web mi házel nějakou chybu a zdálo se, že příspěvek nevložil, tedy jsem ho vložil omylem několikrát. Můžete-li někdo, prosím, smažte ty navíc.
Děkuji, Petr

Offline

#2 Včera 21:31:09

Petr82
Člen
Registrace: 15. 1. 2021
Příspěvků: 5

Re: Makro na Seskupit... (F12)

Toto vlákno ponechat, tento dotaz platí. Děkuji

Offline

#3 Dnes 05:06:07

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,474

Re: Makro na Seskupit... (F12)

To by neměl být velký problém, ale chce to ukázku dat. Pošlete mi vzorek na email níže. Peníze nechci.


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É

Offline

#4 Dnes 13:13:58

Petr82
Člen
Registrace: 15. 1. 2021
Příspěvků: 5

Re: Makro na Seskupit... (F12)

Poslal jsem tabulku e-mailem, děkuji moc!

Offline

#5 Dnes 15:42:25

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,474

Re: Makro na Seskupit... (F12)

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É

Offline

Zápatí