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: - (

Était-ce utile?

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
scroll top