OOobbs2/58
質問
セル範囲を並び替えて別の場所に貼り付けるために、OOoBasic/Calc のページにある並び替えのサンプル「Sub sort_5」を参考にさせてもらいました。しかし、これは書式もコピーされました。ソートして値だけ別なセル範囲に貼り付けたいのですが、そういう設定はできないものでしょうか。ソートをした後に、以前に教えていただいた値だけコピーの方法を使えばできるのですが、それを一括してできる方法がもしあるのなら教えていただけたらと思います。 回答
DataArray を使う方法です。 データの配列はセットする範囲と同じサイズでなければいけません。また、この方法でコピーできるのは "数値"と"文字列" のみで、数式はコピーされません(数式の代わりに表示されている数値か文字列がコピーされる)。 ソートはされません。 Sub Main Dim oSheet As Object oSheet = ThisComponent.getSheets().getByIndex(0) oCellRange = oSheet.getCellRangeByPosition(0,0,1,2) aDataArray = oCellRange.getDataArray() oSheet.getCellRangeByPosition(0,4,1,6).setDataArray(aDataArray) End Sub 配列を手動で作成するなら、配列に行ごとの配列を入れます。 aDataArray = array( _ array(A1, "B1"),_ array(A2, "B2"),_ array(3.123, "C") )
感想,コメント,メモ
|