von Stephan » So, 10.03.2019 08:44
z.B.:
Code: Alles auswählen
Sub Test2
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(5,5)
myWert="A1"
oRow = First_Empty_Row(mySheet,"B")
myZelle = mySheet.getcellbyposition(0,oRow)
z1 = Split(myZelle.AbsoluteName, ".")
z2 = Split(Z1(1),"$")
z3 = JOIN(z2(),"")
mycell.Formula = "=A2*B2"+"+"+myWert +"*"+z3
End Sub
Function First_Empty_Row(oSheet, sColumnName)
oColumn = oSheet.Columns.getbyName(sColumnName)
oEC = oColumn.queryEmptyCells
oERange = oSheet.getcellrangebyName(oEC.ElementNames(uBound(oEC.ElementNames)))
First_Empty_Row = oERange.RangeAddress.StartRow
end function
Die Umwandlung per z1 bis z3 ist ein wenig eigenwillig, aber ein recht einfacher Weg den reinen Namen der Zelle (A15) aus .AbsoluteName ($Sheet1.$A$15) abzutrennen. Du könntest dass auch zusammenfassen, nur dann ist es schwierig zu verstehen:
Code: Alles auswählen
Sub Test2
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(5,5)
myWert="A1"
oRow = First_Empty_Row(mySheet,"B")
myZelle = mySheet.getcellbyposition(0,oRow)
mycell.Formula = "=A2*B2"+"+"+myWert +"*"+JOIN(Split(Split(myZelle.AbsoluteName, ".") (1),"$"), "")
End Sub
Gruß
Stephan
z.B.:
[code]Sub Test2
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(5,5)
myWert="A1"
oRow = First_Empty_Row(mySheet,"B")
myZelle = mySheet.getcellbyposition(0,oRow)
z1 = Split(myZelle.AbsoluteName, ".")
z2 = Split(Z1(1),"$")
z3 = JOIN(z2(),"")
mycell.Formula = "=A2*B2"+"+"+myWert +"*"+z3
End Sub
Function First_Empty_Row(oSheet, sColumnName)
oColumn = oSheet.Columns.getbyName(sColumnName)
oEC = oColumn.queryEmptyCells
oERange = oSheet.getcellrangebyName(oEC.ElementNames(uBound(oEC.ElementNames)))
First_Empty_Row = oERange.RangeAddress.StartRow
end function
[/code]
Die Umwandlung per z1 bis z3 ist ein wenig eigenwillig, aber ein recht einfacher Weg den reinen Namen der Zelle (A15) aus .AbsoluteName ($Sheet1.$A$15) abzutrennen. Du könntest dass auch zusammenfassen, nur dann ist es schwierig zu verstehen:
[code]Sub Test2
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(5,5)
myWert="A1"
oRow = First_Empty_Row(mySheet,"B")
myZelle = mySheet.getcellbyposition(0,oRow)
mycell.Formula = "=A2*B2"+"+"+myWert +"*"+JOIN(Split(Split(myZelle.AbsoluteName, ".") (1),"$"), "")
End Sub[/code]
Gruß
Stephan