在 VBA Libreoffice 中获取 FindFirst 结果的行号
Posted
技术标签:
【中文标题】在 VBA Libreoffice 中获取 FindFirst 结果的行号【英文标题】:Get row number of a FindFirst result in VBA Libreoffice 【发布时间】:2018-03-11 21:11:46 【问题描述】:我有一个函数在包含值的列中查找第一个单元格:
recherche = colonneRecherche.createSearchDescriptor
with recherche
.SearchString = valeur
.SearchCaseSensitive = false
.SearchByRow = true
.SearchWords = false
end with
resultat = colonneRecherche.findFirst(recherche)
if isnull(resultat) then
RechercherValeur = "NO RESULT!"
Exit Function
else
thisComponent.CurrentController.select(resultat)
a.nom = "TEST"
RechercherValeur = a
Exit Function
End If
包含“选择”的行选择了好的单元格,但我想获得单元格的行号而不选择它。我试过了
resultat.Row
但它不起作用。任何人都可以帮助我吗? 谢谢
【问题讨论】:
【参考方案1】:我自己找到的:
Msgbox "Row: " + resultat.cellAddress.Row
【讨论】:
【参考方案2】:我从未使用过 LibreOffice,而且我不会说法语,但如果您的 VBA 类似于 Excel VBA,那么您可能使用了不正确的方法。
Excel 中没有 FindFirst
(与 Access 不同),但是有一个 Find
方法。
下面的 VBA 返回第一个匹配的行号:
Sub testFind()
Dim ws As Worksheet, f As Range
Set ws = Sheets("Sheet1")
Set f = ws.Cells.Find("abc")
If f Is Nothing Then
MsgBox "Not found"
Else
MsgBox "Found on row: " & f.Row
End If
End Sub
【讨论】:
重点是:Excel 宏与 LibreOffice 的宏不同...您的解决方案非常适合 Microsoft Office,但不适用于 Libreoffice。不过谢谢:)以上是关于在 VBA Libreoffice 中获取 FindFirst 结果的行号的主要内容,如果未能解决你的问题,请参考以下文章
LibreOffice (Calc) VBA 单元格总和(按索引)
如何将这行 VBA 转换为 LibreOffice Basic?
Ubuntu中的LibreOffice是不是有类似于Microsoft office(word,excel等)的vba宏的东西? [关闭]