首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于另一个工作表的列表框vlookup代码

是一种在Excel中使用VLOOKUP函数的方法,用于在一个工作表中创建一个下拉列表框,并根据选择的值从另一个工作表中检索相关数据。

VLOOKUP函数是Excel中的一个强大函数,用于在一个数据范围中查找某个值,并返回与之相关联的值。在这种情况下,我们可以使用VLOOKUP函数来创建一个下拉列表框,并根据选择的值从另一个工作表中检索相关数据。

以下是一个示例代码,展示了如何基于另一个工作表的列表框使用VLOOKUP函数:

代码语言:txt
复制
Sub CreateDropdownList()
    Dim wsData As Worksheet
    Dim wsDropdown As Worksheet
    Dim rngData As Range
    Dim rngDropdown As Range
    Dim lastRow As Long
    
    ' 设置工作表对象
    Set wsData = ThisWorkbook.Sheets("DataSheet") ' 数据工作表
    Set wsDropdown = ThisWorkbook.Sheets("DropdownSheet") ' 下拉列表框工作表
    
    ' 获取数据范围
    lastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row
    Set rngData = wsData.Range("A2:B" & lastRow) ' 假设数据范围为A2:Bn
    
    ' 清除下拉列表框数据
    wsDropdown.Range("A2:A" & wsDropdown.Cells(wsDropdown.Rows.Count, "A").End(xlUp).Row).ClearContents
    
    ' 创建下拉列表框
    Set rngDropdown = wsDropdown.Range("A2") ' 假设下拉列表框起始单元格为A2
    With rngDropdown.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="='" & wsData.Name & "'!$A$2:$A$" & lastRow
    End With
    
    ' 设置下拉列表框单元格格式
    rngDropdown.NumberFormat = "General"
    
    ' 监听下拉列表框变化事件
    wsDropdown.Shapes("Drop Down 1").ControlFormat.ListFillRange = rngDropdown.Address
    wsDropdown.Shapes("Drop Down 1").OnAction = "DropdownChange"
End Sub

Sub DropdownChange()
    Dim wsData As Worksheet
    Dim wsDropdown As Worksheet
    Dim rngData As Range
    Dim rngDropdown As Range
    Dim selectedValue As String
    Dim result As Variant
    
    ' 设置工作表对象
    Set wsData = ThisWorkbook.Sheets("DataSheet") ' 数据工作表
    Set wsDropdown = ThisWorkbook.Sheets("DropdownSheet") ' 下拉列表框工作表
    
    ' 获取数据范围
    Set rngData = wsData.Range("A2:B" & wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row) ' 假设数据范围为A2:Bn
    
    ' 获取选择的值
    selectedValue = wsDropdown.Range("A2").Value
    
    ' 使用VLOOKUP函数检索相关数据
    result = Application.VLookup(selectedValue, rngData, 2, False)
    
    ' 将结果显示在指定单元格
    wsDropdown.Range("B2").Value = result
End Sub

这段代码的功能是在名为"DropdownSheet"的工作表中创建一个下拉列表框,该下拉列表框的选项值来自名为"DataSheet"的另一个工作表中的数据范围。当用户选择一个值时,代码会使用VLOOKUP函数从"DataSheet"中检索相关数据,并将结果显示在"DropdownSheet"中的指定单元格。

在这个示例代码中,需要将"DataSheet"和"DropdownSheet"替换为实际的工作表名称,以及数据范围和下拉列表框的起始单元格。此外,还可以根据实际需求进行代码的修改和扩展。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。您可以通过以下链接了解更多关于腾讯云的产品和服务:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

yhd-VBA从一个工作簿工作中查找符合条件数据插入到另一个工作簿工作

今天把学习源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一个,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿)中查找一些数据,提取出来...想要做好了以后同样工作就方便了 【想法】 在一个程序主控文件中 设定:数据源文件(要在那里查找工作簿) 设定:目标文件(要保存起来那个文件) 输入你要查找数据:如:含有:杨过,郭靖数据。...要复制整行出来 主控文件设定如图 数据源文件有两个工作 查找到"郭靖"数据保存到目标文件【射雕英雄传】工作 查找到"杨过"数据保存到目标文件【第一个】工作代码】 Sub...从一个工作簿工作中查找符合条件数据插入到另一个工作簿工作中() Dim outFile As String, inFile As String Dim outWb As...MsgBox ("一个也没找到") End If '==end=工作内部

5.2K22

Excel公式技巧17: 使用VLOOKUP函数在多个工作中查找相匹配值(2)

我们给出了基于在多个工作给定列中匹配单个条件来返回值解决方案。本文使用与之相同示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作: ?...图1:工作Sheet1 ? 图2:工作Sheet2 ?...图3:工作Sheet3 示例要求从这3个工作中从左至右查找,返回Colour列中为“Red”且“Year”列为“2012”对应Amount列中值,如下图4所示第7行和第11行。 ?...图4:主工作Master 解决方案1:使用辅助列 可以适当修改上篇文章中给出公式,使其可以处理这里情形。首先在每个工作数据区域左侧插入一个辅助列,该列中数据为连接要查找两个列中数据。...16:使用VLOOKUP函数在多个工作中查找相匹配值(1)》。

13.7K10
  • Excel公式技巧16: 使用VLOOKUP函数在多个工作中查找相匹配值(1)

    在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作中查找值并返回第一个相匹配值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...最简单解决方案是在每个相关工作中使用辅助列,即首先将相关单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作中使用辅助列,特别是要求在被查找左侧插入列时。...因此,本文会提供一种不使用辅助列解决方案。 下面是3个示例工作: ? 图1:工作Sheet1 ? 图2:工作Sheet2 ?...图3:工作Sheet3 示例要求从这3个工作中从左至右查找,返回Colour列中为“Red”对应Amount列中值,如下图4所示。 ?...2个工作即Sheet2中执行VLOOKUP操作。

    22.7K21

    Excel应用实践16:搜索工作指定列范围中数据并将其复制到另一个工作

    学习Excel技术,关注微信公众号: excelperfect 这里应用场景如下: “在工作Sheet1中存储着数据,现在想要在该工作第O列至第T列中搜索指定数据,如果发现,则将该数据所在行复制到工作...用户在一个对话框中输入要搜索数据值,然后自动将满足前面条件所有行复制到工作Sheet2中。” 首先,使用用户窗体设计输入对话框,如下图1所示。 ?...Sheet1 Set wks = Worksheets("Sheet1") With wks '工作最后一个数据行 lngRow = .Range(...Sheet2 Sheets("Sheet2").Cells.Clear '获取数据单元格所在行并复制到工作Sheet2 For Each rngFoundCell...上述两段代码图片版如下: ? ?

    5.9K20

    VBA技巧:让代码识别工作形状

    标签:VBA Q:我在工作中放置有一些形状,例如圆形、矩形等,我想当我在工作中使用鼠标单击这些形状时能够根据单击形状有不同操作,该如何实现?...我想在一个过程中实现,而不是每个形状关联不同过程。 如下图1所示,当我使用鼠标单击上方圆形时,会执行一个操作;单击下方矩形时,会执行另一个操作,但这两个形状都关联相同过程。...图1 A:在示例工作中,将上方圆形命名为“椭圆示例”,下方矩形命名为“圆角矩形”。...End If End Sub 然后,返回工作,在形状中单击鼠标右键,将其关联到宏过程testShape。当你单击工作形状时,结果如下图2所示。...图2 你可以代替过程中MsgBox行代码为你想要执行操作代码

    11710

    VBA代码:拆分工作簿示例——将工作簿中每个工作保存为单独工作簿

    标签:VBA 有时候,我们想将工作簿中每个工作都保存为一个单独工作簿。 你可以使用下面的操作逐个保存工作: 1.在工作标签中单击右键。 2.选取“移动或复制…”命令。...3.选择“(新工作簿)”。 4.保存该工作簿。 图1 这样,有多少工作,你就要操作上面的步骤多少次。 然而,如果存在很多个工作簿,这样重复工作使用VBA是最合适。...msoFileDialogFolderPicker) .InitialFileName =Application.DefaultFilePath & "\" .Title = "选择保存工作位置...Next wks Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub 只需在要拆分工作簿中运行上述代码...,就可将该工作簿中所有工作全部保存为单独工作簿。

    3.9K11

    VBA代码:获取并列出工作所有批注

    标签:VBA 在使用Excel工作时,我们往往会对某些单元格插入批注来解释其中数据,用户也可能会插入批注来写下他们建议。...如果你工作中有很多批注,而你不想逐个点开查看,那么可以将所有批注集中显示在工作中。...本文给出代码将获取工作中所有的批注,并将它们放置在一个单独工作中,清楚地显示批注所在单元格、批注人和批注内容。...ExComment.Text, Len(ExComment.Text) - InStr(1, ExComment.Text, ":")) End If Next ExComment End Sub 代码首先检查当前工作中是否存在批注...如果有批注,则创建一个用于放置批注名为“批注列表”工作,其中,在列A放置批注所在单元格地址,列B放置写批注的人名,列C中是批注内容。

    2.4K20

    Excel图表学习52: 清楚地定位散点图中数据点

    散点图是我们经常使用一种图表类型,然而,当有许多个数据点时,往往很难弄清楚特定数据点。其实,使用一些小技巧,我们能够很容易地定位散点图中特定数据点,如下图1所示。 ?...图1 示例用于绘制散点图数据如下图2所示。 ? 图2 步骤1:绘制散点图 1.单击功能区“插入”选项卡“图表”组中散点图,如图3所示,插入一个空白图表。 ?...2.单击功能区“数据”选项卡“数据工具”组中“数据验证”命令。在“数据验证”对话框“设置”选项卡中,验证条件允许列表框中选择“序列”,来源选择工作表单元格区域B3:B10,如下图7所示。 ?...图8 3.在单元格B13中输入公式: =F3 在单元格C13中输入公式: =VLOOKUP(B13,$B$3:$D$10,2,0) 在单元格D13中输入公式: =VLOOKUP(B13,$B$3:$D$10,3,0...) 此时,工作数据如下图9所示。

    9.2K10

    VBA基础:复制格式、选取单元格及复制工作示例代码

    标签:VBA 将某工作格式转换到另一个工作 示例代码: Sub TransferFormat() '源格式工作 Dim sht1 As Worksheet '要应用格式工作 Dim...sht2 As Worksheet Set sht1 = ThisWorkbook.Worksheets("Sheet1") sht1.Cells.Copy '创建新工作 Set sht2...例如,选择当前工作表单元格D5: ActiveSheet.Cells(5, 4).Select 或者: ActiveSheet.Range("D5”).Select 选择另一个工作单元格E6: Application.Goto...: Sheets("Sheet2").Activate ActiveSheet.Cells(6, 5).Select 选择当前工作单元格区域C2:D10: ActiveSheet.Range(Cells...Range(Cells(2, 3), Cells(10, 4)).Select 选择另一个工作单元格区域D3:E11: Application.Goto ActiveWorkbook.Sheets

    26300

    在Python中实现ExcelVLOOKUP、HLOOKUP、XLOOKUP函数功能

    事实上,我们可以使用相同技术在Python中实现VLOOKUP、HLOOKUP、XLOOKUP或INDEX/MATCH等函数功能。...示例 有两个Excel,一个包含一些基本客户信息,另一个包含客户订单信息。我们任务是将一些数据从一个表带入另一个。听起来很熟悉情形!...VLOOKUP可能是最常用,但它受表格格式限制,查找项必须位于我们正在执行查找数据最左边列。换句话说,如果我们试图带入值位于查找项左侧,那么VLOOKUP函数将不起作用。...它很简单,但可以表达复杂逻辑。让我们分解上面的代码。...return_array.loc[]返回一个带有基于上述布尔索引pandas系列,只返回True值。

    6.9K11

    利用 Python 实现 Excel 办公常用操作!

    如图所示为某单位所有员工基本信息数据源,在“2010年3月员工请假统计工作中,当在A列输入员工工号时,如何实现对应员工姓名、身份证号、部门、职务、入职日期等信息自动录入?...方法:使用VLOOKUP+MATCH函数,在“2010年3月员工请假统计工作中选择B3:F8单元格区域,输入下列公式=IF(A3="","",VLOOKUP(A:H,MATCH(B2,员工基本信息...python实现:vlookup函数有两个不足(或者算是特点吧),一个是被查找值一定要在区域里第一列,另一个是只能查找一个值,剩余即便能匹配也不去查找了,这两点都能通过灵活应用if和indirect...数据透视是Excel另一个神器,本质上是一系列表格重组整合过程。...groupby,代码写起来也简单,思路就是把刚才Excel点鼠标的操作反映到代码命令上: df = pd.read_excel('test.xlsx', sheet_name='销售统计') df

    2.6K20

    TidyFriday Excel 用户福音!在 R 中实现 Excel 功能

    许多 R 新用户在金融、市场、商业分析等领域有丰富行业经验,但是他们并没有太多编程背景,所以日常工作中还是选择 Excel、PowerBI 这些传统工具进行工作;tidyquant 作者意识到了这些痛点...(tidyverse) library(tidyquant) library(knitr) 在 R 中实现透视 很多 Excel 用户青睐它数据透视表功能,现在 R 也可以通过 pivot_table...,别急我们一层一层来看; .rows = c(symbol, ~ QUARTER(date)) # 透视行,~ QUARTER(date)提取date对应季度 QUARTER('2020-03-...Excel 中另一个强大函数是 VLOOKUPVLOOKUP 主要功能如下: ?...stock, company) [1] "Amazon" 不过我们在 Excel 中使用 VLOOKUP 是想在一个中添加列,这列值要去另一个中查找, 在 R 中怎么做呢?

    2.5K30

    完全理解不了Vlookup,怎么破?

    为什么要学习vlookup? 当有多张时,如何将一个excel表格数据匹配到另一个中?这时候就需要使用vlookup函数。它可以按条件查找出数据。...招聘面试中会要求会使用vlookup,因为vlookup是最常用、最简单上手。可以极大提高工作效率。当别人还在磨磨唧唧手动复制粘贴一天才能搞定事情,你用vlookup一个小时就完成了。...image.png 案例 现在有两个excel,一个是1学生信息,记录了全部学生信息。一个是2三好学生,记录了获得三好学生姓名。现在我们想知道2三好学生表里学生班级,该怎么办呢?...因为姓名和班级都在1学生信息表里,所以我们需要用2里姓名作为查找条件,在1里找出这位学生所在班级。...它属于excel里三种引用一种,不了解可以参考之前文章补充学习:zhihu.com/question/2591 掌握vlookup非常重要,它有时候决定了你在找工作时是否会被录用,所以实践起来吧。

    1.7K11

    Python和Excel完美结合:常用操作汇总(案例详析)

    如图所示为某单位所有员工基本信息数据源,在“2010年3月员工请假统计工作中,当在A列输入员工工号时,如何实现对应员工姓名、身份证号、部门、职务、入职日期等信息自动录入?...方法:使用VLOOKUP+MATCH函数,在“2010年3月员工请假统计工作中选择B3:F8单元格区域,输入下列公式=IF($A3="","",VLOOKUP($A3,员工基本信息!...python实现:vlookup函数有两个不足(或者算是特点吧),一个是被查找值一定要在区域里第一列,另一个是只能查找一个值,剩余即便能匹配也不去查找了,这两点都能通过灵活应用if和indirect...数据透视是Excel另一个神器,本质上是一系列表格重组整合过程。...,并同时算出利润 通过Excel数据透视操作最终实现了下面这样效果: python实现:对于这样分组任务,首先想到就是pandasgroupby,代码写起来也简单,思路就是把刚才Excel

    1.1K20

    可以使用通配符20个Excel工作函数

    Excel提供了近20个支持在参数中使用通配符工作函数,本文将对这些函数进行介绍,更详细信息可以参考Microsoft关于这些函数帮助文档。 下面是在这些函数中可用于筛选字符通配符: ?...DVARP 通过使用列表或数据库中与指定条件匹配记录字段(列)中数字,计算基于整个总体总体方差。 HLOOKUP 在或值数组顶行中搜索值,然后在或数组中指定行返回同一列中值。...当比较值位于数据顶部行中,并且想要向下查看指定数量行时,使用HLOOKUP。当比较值位于要查找数据左侧列中时,使用VLOOKUP。...MAXIFS 返回由一组或多组条件指定单元格中最大值。 MINIFS 返回由一组或多组条件指定单元格中最小值。 SEARCH 在另一个文本值中查找一个文本值(不区分大小写)。...SUMIFS 在由多个条件指定一个或多个行或列中单元格之和。 VLOOKUP最左边列中查找值,然后从指定列中返回同一行中值。

    3.1K20

    VLOOKUP 到底有多重要?

    为什么要学习vlookup? 当有多张时,如何将一个excel表格数据匹配到另一个中?这时候就需要使用vlookup函数。它可以按条件查找出数据。...招聘面试中会要求会使用vlookup,因为vlookup是最常用、最简单上手。可以极大提高工作效率。当别人还在磨磨唧唧手动复制粘贴一天才能搞定事情,你用vlookup一个小时就完成了。...image.png 案例 现在有两个excel,一个是1学生信息,记录了全部学生信息。一个是2三好学生,记录了获得三好学生姓名。现在我们想知道2三好学生表里学生班级,该怎么办呢?...因为姓名和班级都在1学生信息表里,所以我们需要用2里姓名作为查找条件,在1里找出这位学生所在班级。...它属于excel里三种引用一种,不了解可以参考之前文章补充学习:zhihu.com/question/2591 掌握vlookup非常重要,它有时候决定了你在找工作时是否会被录用,所以实践起来吧。

    1.9K2625

    VLOOKUP 到底有多重要?

    为什么要学习vlookup? 当有多张时,如何将一个excel表格数据匹配到另一个中?这时候就需要使用vlookup函数。它可以按条件查找出数据。...招聘面试中会要求会使用vlookup,因为vlookup是最常用、最简单上手。可以极大提高工作效率。当别人还在磨磨唧唧手动复制粘贴一天才能搞定事情,你用vlookup一个小时就完成了。...一个是2三好学生,记录了获得三好学生姓名。现在我们想知道2三好学生表里学生班级,该怎么办呢?...因为姓名和班级都在1学生信息表里,所以我们需要用2里姓名作为查找条件,在1里找出这位学生所在班级。 不会vlookup前,你是这么手动查找 一个简单粗暴办法是,是通过手动查找来实现。...非常重要,它有时候决定了你在找工作时是否会被录用,所以实践起来吧。

    1.7K10

    示例工作簿分享:筛选数据

    图1 工作Sheet2中列出了数据中唯一值,如下图2所示,可以根据工作Sheet1数据添加而更新。 图2 创建了一个用户窗体,用来进行数据筛选,如下图3所示。...图3 这个示例工作簿有以下功能: 1.按F3会运行更新代码更新工作Sheet2中唯一项,并以红色标注出新添加项。 2.按F4键将调出图3所示用户窗体。...3.在用户窗体中: (1)左侧列表框列出了工作Sheet2中所有唯一项。 (2)在搜索框中输入内容时,会随着输入自动缩减左侧列表框内容。...(3)选择左侧列表框项后,单击“添加”按钮,将其移至右侧列表框。 (4)单击“执行”会进行筛选操作,并在工作Sheet1中显示结果。...(5)选择右侧列表框项目,单击“移除”按钮,该项目会自动移至左侧列表框。 (6)单击“筛选重置”按钮会重置列表框数据和工作筛选。

    14210

    这些年,Excel不知道坑死了多少人,你有幸免吗?

    产品类别在产品,并不在订单。于是这个伟大函数来了:VLOOKUP。...《VLOOKUP 十大功能》啦,《VLOOKUP 12个陷阱》啦,很多人也认为这是非常重要知识,也许是的,但从另一个层面讲:全错!这些用词背后无不透露一个信号:VLOOKUP很复杂。...是否有一项工作是给会用 VLOOKUP 付钱工作兑换结果是工作有商业价值交付成果,而很多人在 Excel 坑里还没爬出来呢。...Excel中,表格准确叫法在数据模型面前,只能叫 工作表表格,而在数据模型中叫 数据模型。 请你老老实实回答,你是否知道原来还有 工作表表格 和 数据模型 之分?...你机遇 在问题背后就是机遇。还有另一个世界:自助商业智能分析。 如果你觉得你原来地方太挤了,就不要和一样感觉很挤的人来争啦,你可以进入另一个领域。

    2K10

    yhd-ExcelVBA根据条件查找指定文件数据填写到当前工作指定列

    yhd-ExcelVBA根据条件查找指定文件数据填写到当前工作指定列 【问题】当我们要用一个数据来查询另一个数据时,我们常常是打开文件复制数据源数据到当前文件新建一个数据,再用伟大VLookup...key列与item列 this**是当前数据东东 Sub getFiledata_to_activesheet() Dim mydic As Object, obj As Object...============================、 file = "F:\家Excel学习\yhd-Excel\yhd-Excel-VBA\yhd-ExcelVBA根据条件查找指定文件数据填写到当前工作指定列...\201908工资变动名册.xls" file_sht = "工资变动名册" data_key_col = "B" data_item_col = "V" '===要取数据列...时间为:" & Format(Timer - ti, "0.000秒") End Sub 完成时间,一个字“快”,比复制与vLookup快很多 ====个人学习收藏用====

    1.6K20
    领券