我在Libre办公室使用自动过滤器需要一些帮助。我的每个过滤列都应包含空单元格。
例如,如果这是数据:
我想过滤GMC和卡车,我会在每一列上得到这个(使用autofilter在excel中完成):
但是在libre中这样做似乎是不可能的,即使使用标准过滤器(这不仅仅是几个列就非常麻烦)。有人能给我一个简单的方法吗?
答案 0 :(得分:0)
您可以用一个空格填充空单元格。这样,它们在屏幕和打印上似乎仍然是空的,但空格字符可以进行过滤:
答案 1 :(得分:0)
我相信LibreOffice会在某个时候填补这个空白。与此同时,LibreOffice用户将使用解决方法,使用单个空间填充空单元格。如果你想自动化这个,使用LibreOffice Basic Script这是一个简单的宏:
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),点击'新' 。
宏是在' Sub'之间。直到'结束子'。
为宏创建一个按钮,例如在自定义工具栏上:
工具>自定义...>工具栏>新的
命名新工具栏:
标准2
保存:LibreOffice Calc。
选择工具栏' Standard2'。
点击“添加...'”。
分类:
LibreOffice宏>我的宏>标准>模块1
在“命令”下,选择“ForFilter”
点击“添加”,“关闭”
如果必须删除宏,请单击“修改”旁边的下拉列表中的“删除”
点击“确定”。
完成。
我改编了一个我在网上找到的剧本。代码行开头的撇号或引号(')表示该行不被解释为代码,而是作为注释。
要运行宏,只需单击“ForFilter”按钮。