将 VBA 简单宏转换为 LibreOffice 宏

Posted

技术标签:

【中文标题】将 VBA 简单宏转换为 LibreOffice 宏【英文标题】:Convert VBA Simple Macro to LibreOffice Macro 【发布时间】: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 我看到你回答了一个关于在***.com/questions/14724193中循环的类似问题 【参考方案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 中拼凑出一些东西。

以上是关于将 VBA 简单宏转换为 LibreOffice 宏的主要内容,如果未能解决你的问题,请参考以下文章

将 Excel 4 宏转换为 VBA

Libreoffice Calc:将许多带有文本的单元格转换为数字

如何将我的 VBA 宏转换为 C# 以在 Windows 窗体应用程序中使用?

你能在 LibreOffice 中用 Python 录制宏吗?

更快的单元格输入值 LibreOffice Vba

如何将用Google表格编写的脚本迁移到VBA中的MS Excel宏?