提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何快速搜索多个工作表或工作簿中的值?

你有没有想过在Excel中搜索多张或工作簿中的某个值? 本教程介绍了一些不同的方法来解决搜索多个工作表或在多个工作簿中搜索的问题。

使用“查找和替换”功能在多张工作簿中搜索一个值

使用VBA搜索文件夹的所有工作簿中的值

使用Kutools for Excel快速搜索多个打开的工作簿中的值 好idea3


查找并替换工作表和工作簿中的值

Kutools for Excel先进的 查找和替换 功能,可以帮助您在多个工作表和已打开的工作簿中查找和替换值。 免费下载
doc找到工作簿
Kutools for Excel:拥有超过300便利的Excel加载项,可以在60天免费试用,不受限制。

用Excel的 查找和替换 功能,您可以在多个工作表中找到一定的值。

1。 通过按住,选择要查找值的多个工作表标签 按Ctrl 键并单击。中的工作表 工作表标签栏 逐个。 看截图:

doc在多张工作表1中搜索值

2。 然后按 Ctrl + F 使之成为可能 查找和替换 窗口,然后在中输入要搜索的值 查找内容 文本框下 查找 选项卡,然后单击 找到所有 按钮列出所有结果。 看截图:

doc在多张工作表2中搜索值


如果您想从文件夹中搜索所有关闭的工作簿中的值,则只能应用VBA来解决该问题。

1。 启用新工作簿并选择一个单元格,然后按 Alt + F11键 键打开 Microsoft Visual for Basic Applications 窗口。

2。 点击 插页 > 模块 并在VBA下面粘贴到新的模块窗口。

VBA:跨文件夹的所有工作簿搜索值。

Sub SearchFolders()
'UpdatebyKutoolsforExcel20151202
    Dim xFso As Object
    Dim xFld As Object
    Dim xStrSearch As String
    Dim xStrPath As String
    Dim xStrFile As String
    Dim xOut As Worksheet
    Dim xWb As Workbook
    Dim xWk As Worksheet
    Dim xRow As Long
    Dim xFound As Range
    Dim xStrAddress As String
    Dim xFileDialog As FileDialog
    Dim xUpdate As Boolean
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a forlder"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    xStrSearch = "KTE"
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    Set xOut = Worksheets.Add
    xRow = 1
    With xOut
        .Cells(xRow, 1) = "Workbook"
        .Cells(xRow, 2) = "Worksheet"
        .Cells(xRow, 3) = "Cell"
        .Cells(xRow, 4) = "Text in Cell"
        Set xFso = CreateObject("Scripting.FileSystemObject")
        Set xFld = xFso.GetFolder(xStrPath)
        xStrFile = Dir(xStrPath & "\*.xls*")
        Do While xStrFile <> ""
            Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
            For Each xWk In xWb.Worksheets
                Set xFound = xWk.UsedRange.Find(xStrSearch)
                If Not xFound Is Nothing Then
                    xStrAddress = xFound.Address
                End If
                Do
                    If xFound Is Nothing Then
                        Exit Do
                    Else
                        xCount = xCount + 1
                        xRow = xRow + 1
                        .Cells(xRow, 1) = xWb.Name
                        .Cells(xRow, 2) = xWk.Name
                        .Cells(xRow, 3) = xFound.Address
                        .Cells(xRow, 4) = xFound.Value
                    End If
                    Set xFound = xWk.Cells.FindNext(After:=xFound)
                Loop While xStrAddress <> xFound.Address
            Next
            xWb.Close (False)
            xStrFile = Dir
        Loop
        .Columns("A:D").EntireColumn.AutoFit
    End With
    MsgBox xCount & "cells have been found", , "Kutools for Excel"
ExitHandler:
    Set xOut = Nothing
    Set xWk = Nothing
    Set xWb = Nothing
    Set xFld = Nothing
    Set xFso = Nothing
    Application.ScreenUpdating = xUpdate
    Exit Sub
ErrHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHandler
End Sub

3。 然后按 F5 键或 按钮来执行这个VBA,和a 选择一个文件夹 弹出对话框提醒您选择要从中搜索数值的文件夹。 看截图:

doc在多张工作表3中搜索值

4。 然后点击 OK 并弹出另一个对话框来提醒您已找到单元格的数量。 看截图:

doc在多张工作表4中搜索值

5。 点击 OK 它和所有找到的单元格都会在当前工作表中列出并显示相应的信息。

doc在多张工作表5中搜索值

提示: 在上面的VBA中,您搜索该值 “KTE”,你可以改变 “KTE” 从这个 xStrSearch =“KTE" 根据您的需要设置另一个值。


如果您只想在多个打开的工作簿中搜索一个值,则可以使用 Kutools for Excel's先进 查找和替换 效用。

Kutools for Excel, 与超过 300 方便的功能,让您的工作更轻松。

免费安装 Kutools for Excel,请按照以下步骤操作:

1。 在其中一个打开的工作簿中,单击 Kutools > 菜单导航,然后单击 查找和替换 按键 doc找到按钮查找和替换 窗格。 看截图:

doc在多张工作表6中搜索值

2。 然后点击 查找 选项卡,然后在中输入要搜索的值 查找内容 文本框,然后选择 所有工作簿 来自 下拉列表,然后点击 找到所有 列出所有找到的单元格。 看截图:

doc在多张工作表7中搜索值

提示:

您订购的 Kutools for Excel先进的 查找和替换 实用程序,您可以在多个工作簿,所有工作簿,活动工作簿,活动工作表或选择中搜索并替换所选工作表中的值。

doc在多张工作表8中搜索值


选项卡式浏览和编辑多个Word文档/ Excel工作簿,如Firefox,Chrome,Internet探索10!

您可能熟悉在Firefox / Chrome / IE中查看多个网页,并通过轻松单击相应的选项卡在它们之间切换。 此处,Office选项卡支持类似的处理,允许您在一个Word窗口或Excel窗口中浏览多个Word文档或Excel工作簿,并通过单击其选项卡轻松地在它们之间切换。
点击免费试用Office Tab!

在一个窗口中以Firefox浏览多个单词文档

相关文章:


Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及你以前用过的任何东西; 加密单元格 密码; 创建邮件列表 并发送电子邮件...
  • 超级方程式酒吧 (轻松编辑多行文字和公式); 阅读布局 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不丢失数据; 分裂细胞含量; 组合重复的行/列...防止重复的细胞; 比较范围...
  • 选择复制或唯一 行; 选择空行 (所有细胞都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择......
  • 精确复制 多个单元格而不更改公式参考; 自动创建参考 多张表; 插入项目符号,复选框等等......
  • 提取文本,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级过滤器 (将过滤方案保存并应用到其他工作表); 高级排序 按月/周/日,频率等; 特殊过滤器 用粗体,斜体......
  • 结合工作簿和工作表; 根据键列合并表; 将数据拆分为多个表格; 批量转换xls,xlsx和PDF...
  • 超过300强大的功能。 支持Office / Excel 2007-2019和365。 支持所有语言。 在您的企业或组织中轻松部署。 全功能30天免费试用。
kte tab 201905

Office选项卡为Office提供选项卡式界面,使您的工作更轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,Publisher,Access,Visio和Project。
  • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
  • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rafael · 3 months ago
    como generar códigos qr
  • To post as a guest, your comment is unpublished.
    MM · 10 months ago
    Awesome this works perfect,
    Could you help me, I would like to create an hyperlink to each cell where the value was found.

    Thanks in advance
  • To post as a guest, your comment is unpublished.
    James · 1 years ago
    Perfect for what I need except for the fact that it creates a new sheet every search. How would I modify the code to use a single sheet for each search instead of creating a new one? Thanks, James
  • To post as a guest, your comment is unpublished.
    Ray · 1 years ago
    Your code works great, I look for a code that finds two texts in excel files, do you know how is it possible?
  • To post as a guest, your comment is unpublished.
    Matt Sabin · 1 years ago
    How can I add another column and bring the value that is always 3 columns to the right on the value found?
  • To post as a guest, your comment is unpublished.
    André · 1 years ago
    Thanks. It helped me a lot =)
  • To post as a guest, your comment is unpublished.
    Orlando B · 1 years ago
    This is what i want it to return "Site Instruction" which is allocated to all Text in Cell
    Workbook Worksheet Cell Text in Cell Site Instruction
    Shift report Emicc 01-10-17.xlsx Sheet1 $D$20 CMS install 1773
    Shift report Emicc 01-10-17.xlsx Sheet1 $D$21 CMS install 1763
    Shift report Emicc 01-10-17.xlsx Sheet1 $D$24 CMS install 1551
  • To post as a guest, your comment is unpublished.
    Orlando B · 1 years ago
    Thanks for that VBA, it works perfectly to search multiple excel files, however it is possible to get it to return a 5th Column with Reference number? Else
    xCount = xCount + 1
    xRow = xRow + 1
    .Cells(xRow, 1) = xWb.Name
    .Cells(xRow, 2) = xWk.Name
    .Cells(xRow, 3) = xFound.Address
    .Cells(xRow, 4) = xFound.Value
    .Cells(xRow, 5) = ???
  • To post as a guest, your comment is unpublished.
    Orly B · 1 years ago
    Thanks for that VBA, it works perfectly to search multiple excel files, however it is possible to get it to return a 5th Column with Reference number? Else
    xCount = xCount + 1
    xRow = xRow + 1
    .Cells(xRow, 1) = xWb.Name
    .Cells(xRow, 2) = xWk.Name
    .Cells(xRow, 3) = xFound.Address
    .Cells(xRow, 4) = xFound.Value
    .Cells(xRow, 5) = ???