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

在VBA中根据另一个工作表中的过滤表调整表的大小

在VBA中,根据另一个工作表中的过滤表调整表的大小,可以通过以下步骤实现:

  1. 首先,需要确定要调整大小的表格所在的工作表和目标工作表(包含过滤表)的名称。
  2. 使用VBA的Worksheet对象和Range对象,可以通过以下代码获取目标工作表和过滤表的范围:
代码语言:txt
复制
Dim targetSheet As Worksheet
Dim filterSheet As Worksheet
Dim targetRange As Range
Dim filterRange As Range

Set targetSheet = ThisWorkbook.Worksheets("目标工作表名称")
Set filterSheet = ThisWorkbook.Worksheets("过滤表所在工作表名称")

'假设目标表格的范围是A1:D10,过滤表的范围是E1:F5
Set targetRange = targetSheet.Range("A1:D10")
Set filterRange = filterSheet.Range("E1:F5")
  1. 接下来,可以使用VBA的AutoFilter方法根据过滤表中的条件对目标表格进行筛选。以下代码示例根据过滤表的第一列的值筛选目标表格:
代码语言:txt
复制
targetRange.AutoFilter Field:=1, Criteria1:=filterRange.Columns(1), Operator:=xlFilterValues
  1. 筛选后,可以使用VBA的SpecialCells方法获取筛选后的表格范围,并调整目标表格的大小以适应筛选结果。以下代码示例将目标表格调整为筛选结果的大小:
代码语言:txt
复制
Dim filteredRange As Range
Set filteredRange = targetRange.SpecialCells(xlCellTypeVisible)

targetSheet.Rows.Hidden = False '取消隐藏所有行
targetSheet.Columns.Hidden = False '取消隐藏所有列

targetSheet.Rows.EntireRow.Hidden = True '隐藏所有行
targetSheet.Columns.EntireColumn.Hidden = True '隐藏所有列

filteredRange.EntireRow.Hidden = False '取消隐藏筛选结果的行
filteredRange.EntireColumn.Hidden = False '取消隐藏筛选结果的列

以上代码将隐藏目标表格中未筛选的行和列,并取消隐藏筛选结果的行和列,从而调整表格的大小以适应筛选结果。

这是一个基本的示例,具体的实现方式可能会根据实际需求和数据结构有所不同。在实际应用中,可以根据具体情况进行调整和优化。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云主页:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iotexplorer
  • 区块链服务(Tencent Blockchain):https://cloud.tencent.com/product/tencentblockchain
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

    13610

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

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

    5.3K22

    使用VBA删除工作多列重复行

    标签:VBA 自Excel 2010发布以来,已经具备删除工作重复行功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样操作,删除工作所有数据列重复行,或者指定列重复行。 下面的Excel VBA代码,用于删除特定工作所有列所有重复行。...如果只想删除指定列(例如第1、2、3列)重复项,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列数字,以删除你想要重复行。...注:本文学习整理自thesmallman.com,略有修改,供有兴趣朋友参考。

    11.3K30

    VBA小技巧10:删除工作错误值

    这里将编写VBA代码,用来删除工作指定区域中错误值,这在很多情况下都很有用。 如下图1所示,有一组数据,但其中有一些错误值,我们想要自动删除这些错误值。 ?...图1 删除错误值数据如下图2所示。 ? 图2 如果不使用VBA,可以使用Excel“定位”功能来实现。...如下图3所示,单击功能区“开始”“编辑”组“查找和选择——定位条件”,弹出“定位条件”对话框。该对话框,选取“公式”“错误”前复选框,如下图3所示。 ?...图3 单击“确定”后,工作错误数据单元格会被选择,单击“Delete”键,删除错误值,结果如上图2所示。...这段代码虽然相对长一些,但相比较前面的两种方法,可以自动错误值单元格输入内容。

    3.4K30

    Excel,如何根据值求出其坐标

    使用excel过程,我们知道,根据一个坐标我们很容易直接找到当前坐标的值,但是如果知道一个坐标里值,反过来求该点坐标的话,据我所知,excel没有提供现成函数供使用,所以需要自己用VBA编写函数使用...(代码来自互联网) Excel,ALT+F11打开VBA编辑环境,左边“工程”处添加一个模块 把下列代码复制进去,然后关闭编辑器 Public Function iSeek(iRng As Range...False, False): Exit For Next If iAdd = "" Then iSeek = "#无" Else iSeek = iAdd End Function 然后即可在excel表格编辑器中使用函数...iSeek了,从以上代码可以看出,iSeek函数带三个参数,其中第一个和第二个参数制定搜索范围,第三个参数指定搜索内容,例如 iSeek(A1:P200,20),即可在A1与P200围成二维数据搜索值

    8.8K20

    撤销VBA工作操作

    excelperfect 标签:VBA 当执行VBA过程代码后,如果想反悔,像在Excel操作一样,使用Excel撤销功能或者按Ctrl+Z来撤销VBA代码对工作改变,不会起作用。...这里,jkp-ads.com中找到了代码,可以用来撤销VBA工作操作。代码,关键是两个类模块,创建了一个通用撤消处理程序,可以将其导入到任何项目。...类模块:clsUndoObject 这个类将“保留”必须更改对象(因此可能会改回)。此外,对对象所做任何更改都是在这个类完成。最后,这个类记录更改后属性以前值。...这里程序可以撤消操作通常仅限于对对象属性更改,无法撤消插入或删除工作、刷新查询、更新数据透视等操作。...或者,完美Excel微信公众号中发送消息: 撤销代码操作 获取原示例工作簿下载链接。 或者,直接到知识星球App完美Excel社群中下载原示例工作簿。

    24610

    VBA应用示例:根据工作信息制作带图像的人员卡片(扩展版)

    标签:VBA VBA应用示例:根据工作信息制作带图像的人员卡片》,我们使用一些代码,根据工作中人员图像、姓名、年龄等信息,自动制作相应的人员卡片。...如下图1所示,工作Sheet1有一系列人员信息数据,包括人员照片、姓名、年龄,等。 图1 现在,要根据这些人员信息来给每个人制作信息卡片,模板如下图2所示。...图2 可以使用《VBA应用示例:根据工作信息制作带图像的人员卡片》给出VBA来自动完成图2人员信息卡片填充。 此外,还可对其进行扩展,使得图像显示更好。...下面的过程命名工作Sheet1图像: Sub Name_Shapes() Dim shp As Shape, sh1 As Worksheet, i As Long Set sh1 = Worksheets...: Exit Sub CreateObject("Scripting.FileSystemObject").DeleteFolder "C:\AAAAA_Names" End Sub 下面的过程工作

    11910

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

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

    2.4K20

    VBA实用小程序64: 标识工作名称区域

    学习Excel技术,关注微信公众号: excelperfect 工作定义名称是一项很强大功能,我们可以将定义名称单元格区域看作一个整体,从而方便对其进行很多操作。...进行工作数据处理时,很多人都会定义名称。 有时候,分析工作数据时,如果能够清楚地看出命名区域,将有助于我们了解工作。...下面的一小段程序可以将工作命名区域添加红色背景色: Sub SetNameRanges() '声明变量 Dim rngName As Name On Error Resume...Next '遍历当前工作簿名称 For Each rngName In ActiveWorkbook.Names '将名称区域单元格背景色设置为红色...rngName.RefersToRange.Interior.ColorIndex = 3 Next rngName End Sub 如下图1所示,工作定义了两个命名区域。

    1.3K30

    VBA实战技巧19:根据用户工作选择来隐藏显示功能区剪贴板组

    excelperfect 有时候,我们可能想根据用户工作选择来决定隐藏或者显示功能区选项卡特定组,避免用户随意使用某些功能而破坏我们工作结构。 下面,我们通过一个示例来演示。...我们想让用户选择工作表列B任意单元格时,隐藏“开始”选项卡“剪贴板”组,而当用户选择其他单元格时,该组又重新显示,如下图1所示。 ?...图1:当用户选择单元格列B时,“剪贴板”组隐藏,处于其他单元格时,“剪贴板”组显示 首先,我们新建一个工作簿并保存。...然后,使用自定义UI工具打开该工作簿,输入如下所示XML代码: <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"onLoad...图2:Custom UI Editor For Microsoft Office编辑输入XML 重新打开工作簿,按Alt+F11键打开VBA编辑器,插入一个标准模块,输入下面的代码: Public

    4.1K10

    VBA编程练习05. 工作实现七段显示

    学习Excel技术,关注微信公众号: excelperfect 本次练习题 这是一个有趣VBA编程练习,来自于dailydoseofexcel.com。...使用VBA代码工作中将数字显示为七段显示,如下图1所示。 ? 图1 单元格C9输入四位及四位以内数字,单元格区域B2:P6会像电子显示屏一样以七段形式显示这个数字。...1 To lDISPCNT aRange(i) =Sheet1.Range("B2").Offset(0, (i - 1) * 4).Address Next i '根据需要截取和填充值...Interior.Color = lON End If End If Next j Next i End Sub 在数字所在工作模块...建议有兴趣朋友多调试理解这段代码,帮助理解数组运用、以及单元格获取、偏移、设置等VBA操控Excel基础知识。

    1.7K10

    Excel公式技巧14: 工作中汇总多个工作满足条件

    本文提供了一种方法,在给定一个或多个相同布局工作情况下,可以创建另一个“主”工作,该工作仅由满足特定条件所有工作数据组成。并且,这里不使用VBA,仅使用公式。...图3 想要创建一个主工作Master,其数据来源于上面三个工作列D值为“Y”数据: ?...工作Master单元格G1,输入下面的公式: =SUMPRODUCT(COUNTIF(INDIRECT("'"&Sheets&"'!...k值,即在工作Sheet1匹配第1、第2和第3小行,工作Sheet2匹配第1和第2小行,工作Sheet3匹配第1小行。...单元格A2,COLUMNS($A:A)值等于1,因此公式转换为: INDEX(Sheet1!A2:F10,1,1) 即工作Sheet1单元格A2值。

    9K21

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

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

    6K20
    领券