excel - VBA - 在另一个文件中寻找行号
问题描述
我正在尝试在与我运行代码的位置不同的封闭文件中找到包含特定值的单元格。一旦我找到它,我想接收所述单元格的行号。不知何故,我的代码不起作用。这是我在这个网站上找到的东西和我自己编码的东西的混合物。任何帮助都会很棒!
Dim file_dir As Workbook
Set file_dir = Workbooks.Open("PATH.xlsx")
Dim j As Integer
Dim n As Integer
Dim temp As Range
n = file_dir.ActiveSheet.Cells(file_dir.ActiveSheet.Cells.Rows.Count, "A").End(xlUp).Row
Set temp = file_dir.ActiveSheet.Range("A1:A" & n).Find(what:="LOOKUP_VALUE")
j = temp.Row
MsgBox j
解决方案
欢迎来到 Stack Overflow,我可以看到你是一个初学者,所以我想我会展示一种不同的方法来解决这个问题。您需要学习数据类型和返回的函数,所以我认为与其使用嵌套函数等,不如从更简单的代码开始,然后您可以通过使其运行得更快等来使其更复杂。看来您的价值是在 A 列中,而不是FIND
仅使用循环并将其与您的lookup_value
. 确保lookup_value
在例程中给出一个真实的值:
Sub Main()
Dim bValueFound As Boolean
Dim j As Integer
Dim n As Integer
Dim temp As Range
Dim WS As Worksheet
Dim file_dir As Workbook
Set file_dir = Workbooks.Open("PATH.xlsx")
Set WS = file_dir.ActiveSheet
n = WS.Cells(WS.Cells.Rows.Count, "A").End(xlUp).Row
Set temp = file_dir.ActiveSheet.Range("A1:A" & n)
For j = 1 To n
If WS.Cells(j, 1).Value = LOOKUP_VALUE Then
bValueFound = True
Exit For
End If
Next j
If bValueFound Then
MsgBox "The row is " & j
Else
MsgBox "Lookup value was not found"
End If
End Sub
推荐阅读
- ios - 使用新的 Instagram Graph API 检索关注者列表
- python - RegEx:如何匹配超过某个时间的时间码?
- iis - 带有来自没有 Access_Control_Allow_Origin 标头的源的图像的 KML
- javascript - asp.net javascript mvc - 如何从内页获取 javascript 以从外页清除元素?
- linux - 如何从顶级目录之外运行烧瓶应用程序?
- solr - Solr 用数字索引短连字符
- python - 将数据框中的上下三角形值替换为零,或仅保留对角线值
- macos - 无法在 Mac 的终端上运行 python 文件
- uml - 在用例图中显示添加、编辑和删除内容的合适方式是什么?
- c - 如何将 uint8_t * 复制到 char 数组