首页
学习
活动
专区
工具
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.5K22

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)》。

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

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

    25.5K21

    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...上述两段代码的图片版如下: ? ?

    6.1K20

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

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

    15610

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

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

    4.1K11

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

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

    2.5K20

    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所示。

    10.7K10

    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

    41200

    在Python中实现Excel的VLOOKUP、HLOOKUP、XLOOKUP函数功能

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

    7.4K11

    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 中另一个强大的函数是 VLOOKUP,VLOOKUP 的主要功能如下: ?...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.8K11

    利用 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

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

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

    1.1K20

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

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

    3.3K20

    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

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

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

    2K10

    2.7 PowerBI数据建模-DAX计算列中的几种VLOOKUP

    使用DAX在数据表中新建计算列,经常从另一个表中查找返回符合条件的值,类似于Excel的VLOOKUP,又高于Excel的VLOOKUP。...举例以销量表和价格表为例,为销量表从价格表中查找返回产品的价格。基于查找表(价格表)的3种形式,对应有3种方案。...方案1 两表之间存在一对一或多对一关系,用RELATED函数,与Excel的VLOOKUP最相似。...1 方向是多端查找一端2 支持跨表的关系传递3 性能优于其他方案4 非活动的虚线关系不适用价格表中每个产品只出现一次,每个产品只对应一个价格,存在多对一关系。...1 返回的值必须唯一,否则返回空或者预设结果(公式的最后一个参数)2 支持多条件查找价格表中产品的价格需要靠产品列和年份锁定唯一值。

    6710

    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
    领券