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