Domanda

In OOo Calc

Ho bisogno di copiare una colonna (solo i valori , non il formato) da un foglio all'altro (nella stessa foglio di lavoro) utilizzando una macro assegnata a un pulsante.

ho passato in rassegna un po 'in giro, ma ho trovato nulla di significativo: - (

È stato utile?

Soluzione

Per rispondere alla domanda iniziale:

utilizzare una matrice di dati, che sarà significally veloce su grandi intervalli di celle

Source = ThisWeek.getCellRangeByName("H12:H206")
source_data = Source.getDataArray()

Target = Steering.getCellRangeByName("M12:AU206").setDataArray(source_data())

Altri suggerimenti

OK, ho potuto costruire la risposta e ha iniziato l'apprendimento OOo di base, che sono riuscito ad evitare fino ad ora; -)

lo do come è.

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top