OpenOffice.org: macro aide
-
21-08-2019 - |
Question
Dans OOo Calc
Je dois copier une colonne (uniquement les valeurs , pas le format) d'une feuille à une autre (dans la même feuille de calcul) à l'aide d'une macro affectée à un bouton.
Je parcourait un peu autour, mais rien trouvé significatif: - (
La solution
Pour répondre à la question initiale:
utiliser un tableau de données, qui sera significally plus rapidement sur de grandes plages de cellules
Source = ThisWeek.getCellRangeByName("H12:H206")
source_data = Source.getDataArray()
Target = Steering.getCellRangeByName("M12:AU206").setDataArray(source_data())
Autres conseils
OK, je pourrais construire la réponse et a commencé l'apprentissage de base OOo, que je réussi à éviter jusqu'à présent; -)
Je donne comme est.
Sub UpdateThisWeek
Dim Doc As Object
Dim ThisWeek As Object
Dim Steering As Object
Dim Source As Object
Dim Target As Object
Dim Week as Integer
Doc = ThisComponent
ThisWeek = Doc.Sheets.getByName("This week")
Steering = Doc.Sheets.getByName("Steering")
Week = Steering.getCellByPosition(6,4).Value
Source = ThisWeek.getCellRangeByName("H12:H206")
Target = Steering.getCellRangeByName("M12:AU206").getCellRangeByPosition(Week-19,0,Week-19,194)
Dim i, s
For i = 0 To 194
s = Source.getCellByPosition(0, i).Value
If s > 0 Then
Target.getCellByPosition(0, i).Value = s
Else
Target.getCellByPosition(0, i).String = ""
End If
Next i
End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow