excel - 如何使用我的所有工作表名称创建一个可自动更新的命名范围?
问题描述
我正在尝试创建一个 VLOOKUP 来搜索我所有工作表中的字符串。我找到了执行此操作的代码,但是我需要一个包含所有工作表名称的命名范围。但是,我正在创建的文件每周都会添加新的工作表,因此我需要在我添加、重命名或删除工作表时自动更新所有工作表名称的命名范围。
我该怎么办?
解决方案
你可以试试:
Option Explicit
Sub test()
Dim ws As Worksheet
Dim SearchString As String
Dim LookUpRange As Range, FoundRange As Range
Dim VLookupCol As Long
SearchString = "Bingo"
'Number of columns for VLookup
VLookupCol = 3
For Each ws In ThisWorkbook.Worksheets
'Search in each worksheet used range
With ws
Set LookUpRange = .UsedRange
'Found range
Set FoundRange = LookUpRange.Find(what:=SearchString, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not FoundRange Is Nothing Then
MsgBox .Cells(FoundRange.Row, FoundRange.Column + VLookupCol).Value
End If
End With
Next ws
End Sub
推荐阅读
- windows - ImageMagick 没有此图像格式“PDF”的解码委托 Windows
- go - 为什么 unmarshal 在 golang 中改变对象的类型
- twitter-bootstrap - 具有对齐中心列的三列行
- javascript - 从 Nuxt 配置文件提供资产
- javascript - 在解析 HTML 之前等待脚本结束
- laravel - PHP array_map() 总是将我的第一个索引值更改为零值
- c# - 当索引不同步时,如何与另一个数组相比重新对齐数组数据?
- java - Java 在单独的文件中找不到特定方法
- python - Python海龟UnboundLocalError
- python - 如何使用python在maya的活动视图中显示/隐藏项目(?)?