[Gelöst]Formel Array

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Gelöst]Formel Array

(Gelöst) Formel Array

von Jörg » Mo, 27.03.2017 11:20

Hallo mikeleb,
ich habe die Schleifenvariante2
gewählt. Vielen Dank.
Falls von Interesse, stelle ich mal den kpl. Code hier rein:
Spalte B bzw. Q gesondert, weil nicht zusammenhängend (so mein Gedanke)

Code: Alles auswählen

Sub Summenteilerg
Dim aFormeln (4)
odoc = ThisComponent
   oStammSheet = ThisComponent.sheets.getByIndex(3)
      With oStammSheet 
         x = .Columns(1).queryEmptyCells()
         iLetzteZeile = x(x.Count-1).RangeAddress.StartRow +1
      End With
zielbereich = oStammSheet.getCellRangeByName("F" & iLetzteZeile &":J" & iLetzteZeile)
for i=0 to 4
     aFormeln(i)="=Summeteilerg"
next
zielbereich.FormulaArray = array(aFormeln)
rem------------------------------------------------------------
 mycell = oStammSheet.getCellRangeByName("B" & iLetzteZeile )
 mycell.FormulaLocal  = "=Namenanz"     
rem---------------------------------------------------------------------------------
 mycell = oStammSheet.getCellRangeByName("Q" & iLetzteZeile )
 mycell.FormulaLocal  = "=Summeteilerg"    
End Sub

Re: Formel Array

von mikeleb » So, 26.03.2017 19:55

Hallo,
Schleifenvariante 1:

Code: Alles auswählen

for i=5 to 9
     oStammSheet.getCellByPosition(i,iLetzteZeile).Formula="=Summeteilerg"
next
Schleifenvariante 2:

Code: Alles auswählen

for i=0 to 4
     aFormeln(i)="=Summeteilerg"
next
zielbereich.FormulaArray = array(aFormeln)
andere Schreibweise:

Code: Alles auswählen

zielbereich.FormulaArray = array(split("=Summeteilerg,=Summeteilerg,=Summeteilerg,=Summeteilerg,=Summeteilerg",","))

Re: Formel Array

von Jörg » So, 26.03.2017 17:28

Hallo mikeleb,
danke für deine Antwort. Aber mit python kenne ich mich nun überhaupt nicht aus. Die im Forum vorgeschlagenen Wege (Pfade anlegen u.ä.) um das zum Laufen zu bringen, ist mir unterm Strich dann doch für ein Makro zu aufwendig.
Dann gehts auch so.
Schönen Restsonntag.

Re: Formel Array

von mikeleb » So, 26.03.2017 16:12

Hallo,
du könntest es als Schleife programmieren.
Python bietet folgende Option:

Code: Alles auswählen

def mitformel_fuellen():
    oDoc = XSCRIPTCONTEXT.getDocument()
    oStammSheet = oDoc.Sheets.getByName("???") #anpassen
    oCells = oSheet.getCellRangeByIndex(5,iLetzteZeile,9,iLetzteZeile)
    oCells.setFormulaArray((tuple(["=Summeteilerg"]*5),))

[Gelöst]Formel Array

von Jörg » So, 26.03.2017 15:12

Hallo Fachleute,

mit nachstehendem Codeabschnitt wird 5x die gleiche Formel eingefügt:

Code: Alles auswählen

       
zielbereich = oStammSheet.getCellRangeByName("F" & iLetzteZeile &":J" &iLetzteZeile)

zielbereich.FormulaArray = array(array("=Summeteilerg","=Summeteilerg","=Summeteilerg","=Summeteilerg","=Summeteilerg"))
sieht ja irgendwie blöd aus.
Geht das übersichtlicher?

Danke!!

Nach oben