Problém je detekce jedné buňky. Ta je totiž sloučena mezi více buňkami. Detekce musí směřovat na nějaký úsek.
To co poslal "lp." funguje, ale musíte to spustit z cyklu - například takto :
Sub Main
Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object
Doc = ThisComponent
Sheet = Doc. Sheets ( 0 )
For i = 0 To 100
Cell = Sheet. getCellByPosition ( 1 , i )
print AdresaSlouceneOblasti(Cell)
Next i
End Sub
function AdresaSlouceneOblasti(oCell as Object)
oSheet = oCell.getSpreadsheet()
oCursor = oSheet.createCursorByRange(oCell)
oCursor.collapseToMergedArea()
' Tady už cokoliv, třeba adresa nebo počet buněk, ...
' když je víc než jedny, měla by být sloučená
AdresaSlouceneOblasti = oCursor.absolutename
end function
Předpokládám, že to budete umět upravit a použít. Mám podobný systém - posílám bez úpravy :
Sub Main2
DejSloucenebunky(1,0)
End sub
Sub DejSloucenebunky(Column,Row)
Dim oSheet
Dim oRange
Dim oCursor
Dim oMergedRange
Dim iVar as long
oSheet = ThisComponent.GetSheets().GetByIndex(0)
oRange = oSheet.GetCellRangeByPosition(Column,Row,Column,Row)
oCursor = oSheet.CreateCursorByRange(oRange)
oCursor.CollapseToMergedArea()
With oCursor
With .RangeAddress
oMergedRange = oSheet.GetCellRangeByPosition(.StartColumn,.StartRow,.EndColumn,.EndRow)
End With
'Počet řádků sloučeného úseku
iVar = .Rows.Count
msgbox("Nalezeno " & iVar & " sloučených buněk ve sloupci číslo " & Column + 1 ,0,"Sloučené řádky úseku ")
'Počet sloupců sloučeného úseku
'iVar(.Columns.Count)
'msgbox("Nalezeno " & iVar & " sloučených buněk",0,"Sloučené sloupce úseku")
End With
End Sub
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É