首页 文章

LibreOffice Calc:具有空单元格的自动过滤器

提问于
浏览
1

在Libre办公室使用自动过滤器需要一些帮助 . 我的每个过滤列都应包含空单元格 .

例如,如果这是数据:

enter image description here
我想过滤GMC和卡车,我会在每列上得到这个(使用autofilter在excel中完成):
enter image description here

但是在libre中这样做似乎是不可能的,即使使用标准过滤器(这不仅仅是几个列就非常麻烦) . 有人能给我一个简单的方法吗?

2 回答

  • 0

    你可以用一个空格填充空单元格 . 这样,它们在屏幕和打印上似乎仍然是空的,但空格字符可以进行过滤:

    AutoFilter

    AutoFilter2

  • 0

    我相信LibreOffice会在某种程度上填补这个空白 . 与此同时,LibreOffice用户将使用解决方法,使用单个空间填充空单元格 . 如果你想自动化这个,这里是一个使用LibreOffice Basic脚本的简单宏:

    REM ***** BASIC *****

    Sub ForFilter()
     oModel = thisComponent ' at first examine thisComponent
     ' xray oModel
     oSpreadSheet = oModel.getCurrentController().getActiveSheet()
     ' oSpreadSheet = oModel.getSheets().getByIndex(0)
     ' xray oSpreadSheet
     xReplaceDescr = oSpreadSheet.createReplaceDescriptor()
     ' xray xReplaceDescr
     xReplaceDescr.SearchString = ""
     xReplaceDescr.ReplaceString = " "
     lFound = oSpreadSheet.replaceAll(xReplaceDescr)
     ' xray lFound
     'MsgBox lFound & " replaced. AutoFilter should work now!"
     MsgBox "Empty cells filled. AutoFilter should work now."
    End Sub
    

    您可以轻松地将其粘贴到工具>宏>组织宏> LibreOffice Basic ...>我的宏>标准(>模块1)下,单击'New' .
    宏在'Sub'之间,直到'End Sub' .

    为宏创建一个按钮,例如在自定义工具栏上:
    工具>自定义...>工具栏>新建
    命名新工具栏:
    标准2
    保存在:LibreOffice Calc .

    选择工具栏'Standard2' .
    单击'Add...' .
    类别:
    LibreOffice宏>我的宏>标准> Module1
    在“命令”下,选择“ForFilter”
    点击“添加”,“关闭” .
    如果必须删除宏,请单击“修改”旁边的下拉列表中的“删除” .
    单击“确定” .
    完成 .

    我改编了一个我在网上找到的剧本 . 代码行开头的撇号或引号(')表示该行不被解释为代码,而是被解释为注释 .
    要运行宏,只需单击“ForFilter”按钮即可 .

相关问题