【问题标题】:Convert VBA Simple Macro to LibreOffice Macro将 VBA 简单宏转换为 LibreOffice 宏
【发布时间】:2016-01-12 19:07:45
【问题描述】:

我有以下宏,它采用一组稀疏数据并将每一行中的唯一条目复制到最左边的列中。 Example of data

我希望有人可以将此宏重写为可以在 LibreOffice 中处理相同数据的宏。

Sub Macro1()

    Dim rng As Range

    Set rng = Selection


    For Each row In rng.Rows
        For Each cell In row.Cells
            If cell <> "" Then
                Debug.Print cell
                row.Cells(1) = cell
            End If
        Next
    Next

End Sub

数据示例

    

【问题讨论】:

  • 我谦虚地建议您尝试自己转换代码,如果遇到问题,请返回以最初的努力编辑您的问题。
  • 这不是代码移植服务,您可以在其中转储代码和所需的新语言,然后有人为您完成工作。努力自己移植。如果您遇到问题,您可以发布一个问题,询问您遇到的问题,包括您的代码,并就该问题提出一个具体的问题。祝你好运。
  • 我通常不会要求别人为我转换代码,但由于这是使用技能集(LO Basic)的一次性任务,我对深入学习并不感兴趣,并且高达 10 行代码,我想我可以把它提交给社区。如果我为了这个一次性任务而学习与我在 VBA 中所拥有的完全相同的技能集,那么我就是在浪费时间。如果有人已经具备这项技能,并且可以转换我编写的 10 行代码或完成相同的代码以获得最佳答案,那么我们双方都会受益。否则我的下一个 q 将是“如何将选择变成变量”打哈欠
  • @steve-zhan 我看到你回答了一个关于在stackoverflow.com/questions/14724193中循环的类似问题

标签: excel vba libreoffice libreoffice-calc libreoffice-basic


【解决方案1】:

看看Andrew Pitonyak's macro document。第 6 节是处理 Calc 宏的区域。

  • 使用类似于第 6.9 节 Fill selected range with text 的代码获取选定的行。
  • 也使用类似于第 6.14 节的代码Display all data in a column

【讨论】:

  • 非常感谢您提供的链接。我正在浏览文档,我将尝试从这些 sn-ps 中拼凑出一些东西。
猜你喜欢
  • 1970-01-01
  • 2010-09-10
  • 1970-01-01
  • 2021-08-22
  • 2021-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多