1
A
答えて
1
ここでは、Libreoffice BasicとLibreoffice APIを使用する方法を示します。
sub ReverseColumns()
oThisWorkbook = ThisComponent
oActiveSheet = oThisWorkbook.CurrentController.ActiveSheet
oRow1 = oActiveSheet.getRows().getByIndex(0)
aFilledCellsRow1 = oRow1.queryContentCells(1+2+4+16).getRangeAddresses()
if ubound(aFilledCellsRow1) = -1 then exit sub
lLastFilledColumnRow1 = aFilledCellsRow1(ubound(aFilledCellsRow1)).EndColumn
c = 0
for i = lLastFilledColumnRow1 to 1 step -1
oCellTargetColumn = oActiveSheet.getCellByPosition(c, 0)
oRangeAddressTargetColumn = oCellTargetColumn.RangeAddress
oActiveSheet.insertCells(oRangeAddressTargetColumn, com.sun.star.sheet.CellInsertMode.COLUMNS)
oCellTargetColumn = oActiveSheet.getCellByPosition(c, 0)
oCellAddressTargetColumn = oCellTargetColumn.CellAddress
oRangeSource = oActiveSheet.Columns.getByIndex(lLastFilledColumnRow1 + 1)
oRangeAddressSource = oRangeSource.RangeAddress
oActiveSheet.moveRange(oCellAddressTargetColumn, oRangeAddressSource)
c = c + 1
next
end sub
これは、最初に行1の最後の塗りつぶした列を決定します。次に、列反転プロセスがその列まで実行されます。 LibreOfficeの中のマクロについての学習のための
はここから:ここに誰もが(代わりに、列の)行の順序を逆にしたい場合はhttps://wiki.documentfoundation.org/Macros
0
を...私はマクロコードposted by @Axel-Richterを取り、それので、それを編集しましたちょうどそれを行います:
sub ReverseRows()
oThisWorkbook = ThisComponent
oActiveSheet = oThisWorkbook.CurrentController.ActiveSheet
oColumn1 = oActiveSheet.getColumns().getByIndex(0)
aFilledCellsColumn1 = oColumn1.queryContentCells(1+2+4+16).getRangeAddresses()
if ubound(aFilledCellsColumn1) = -1 then exit sub
lLastFilledRowColumn1 = aFilledCellsColumn1(ubound(aFilledCellsColumn1)).EndRow
c = 0
for i = lLastFilledRowColumn1 to 1 step -1
oCellTargetRow = oActiveSheet.getCellByPosition(0, c)
oRangeAddressTargetRow = oCellTargetRow.RangeAddress
oActiveSheet.insertCells(oRangeAddressTargetRow, com.sun.star.sheet.CellInsertMode.ROWS)
oCellTargetRow = oActiveSheet.getCellByPosition(0, c)
oCellAddressTargetRow = oCellTargetRow.CellAddress
oRangeSource = oActiveSheet.Rows.getByIndex(lLastFilledRowColumn1 + 1)
oRangeAddressSource = oRangeSource.RangeAddress
oActiveSheet.moveRange(oCellAddressTargetRow, oRangeAddressSource)
c = c + 1
next
end sub
関連する問題
- 1. リバース引数の順序(RAMDAのJS)
- 2. COPY列の順序
- 3. PHP:配列順序
- 4. 日付の列の順序
- 5. CATransform3D行/列の順序
- 6. PHPフォームポスト配列の順序
- 7. FastMember列の順序保存
- 8. 順序「の文字列を...」
- 9. 配列内でのキーの順序
- 10. モバイルでのブートストラップ列の順序?
- 11. マルチインデックスデータフレームの順序を別のマルチインデックスの順序で整列するdf、pandas
- 12. プッシュ/プルブートストラップで列の順序を変更
- 13. C#gridview列順序リセット
- 14. elasticsearch doc ['...']配列と順序
- 15. ソートマトリックスレポート列指定順序
- 16. devForceのエンティティの順序順序
- 17. リバース配列
- 18. 複数列インデックスの列順序
- 19. struts文字列配列の順序
- 20. は、検索文字列配列順序
- 21. F#SQLProviderの列順序がテーブル内の順序と一致しません
- 22. オブジェクトの配列の破壊の順序
- 23. 複数の列のインデックスの順序
- 24. リバース文字列プログラム
- 25. リバース文字配列
- 26. ConstraintLayout描画順序/レイヤー順序
- 27. メンバーの順序、派生の順序は重要ですか?
- 28. 変更DataGridの列の順序やインデックス
- 29. バイトの配列が特定の順序
- 30. Excelの列の順序をPowerpivot
プログラミングに関するこの質問はどうですか?古い列Aの前に新しい空の列Aを挿入します。最後の列「D」をカット/ペーストします。今すぐ空の列 'D'に列' B'をカット/ペーストします。空の列 'B'を削除します。 –
@AxelRichterコメントありがとうございました。しかし、私は誤解があると思う。この3列は単なる例です。私は多数の列に対してこれを実行したい。カットとペーストは私が探しているものではありません。これはおそらくプログラミングによるものです。 – SirSaleh
どのようなプログラミング言語を使用するのですか? –