选择在 Excel 宏(VBA 中的范围对象)中具有值的列

2024-05-14

如何修改 VBA 中的这一行以仅选择具有值的列?

Set rng = Range("A1", Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)

我不认为我做的事情是正确的CountLarge财产是数十亿个细胞

这是我的数据示例


@SiddharthRout 是的,我只需要有数据的行。我想我现在可以使用 @JMax 的 End(xlToLeft) ...现在我正在迭代单元格,一旦到达最后一行,我就可以退出 For every 循环。我现在可能可以使用这个了。 –makerofthings7 14 分钟前

为此,你不需要.SpecialCells您也不需要循环遍历行:)

这是示例代码。这会将所有有数据的行复制到 Sheet2 (久经考验)

Sub Sample()
    Dim ws As Worksheet
    Dim rng As Range
    Dim LastRow As Long, LastCol As Long

    Set ws = Sheets("Sheet1")

    With ws
        LastRow = .Cells.Find(What:="*", After:=.Range("A1"), Lookat:=xlPart, _
        LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row

        LastCol = .Cells.Find(What:="*", After:=.Range("A1"), Lookat:=xlPart, _
        LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, _
        MatchCase:=False).Column

        With .Range("A1:" & Split(Cells(, LastCol).Address, "$")(1) & LastRow)
            .AutoFilter Field:=1, Criteria1:="<>"
            Set rng = ws.AutoFilter.Range
            rng.Offset(1, 0).Resize(rng.Rows.Count - 1).Copy _
            Destination:=Sheets("Sheet2").Range("A1")
        End With
    End With
End Sub

SNAPSHOT

我假设特定行中的所有单元格都有数据,并且不会出现这样的情况

@makerofthings7:我想我知道你到底想做什么:)你不需要使用循环来实现你想要的。只是一个简单的问题。是否有可能说单元格 C10 可能有值,但 B10 可能没有? – Siddharth Rout 12 分钟前

如果有,那么我们将必须相应地设置自动过滤条件。

Edit: WAY 2

另一种方法是对数据进行排序,将空格向下推,然后复制结果范围:)

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择在 Excel 宏(VBA 中的范围对象)中具有值的列 的相关文章

  • 当第二个工作表中存在值时删除整行

    我有 2 张纸 sheet1 和sheet2 我在单元格 A3 sheet1 中有一个值 该值不是恒定的 Sheets2 中还有许多文件 我想做的是 当单元格 A3 Sheet1 中的值与 A 列 Sheet2 中的值相同时 它将删除找到该
  • 保护 Excel VBA 代码的最佳方法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经整理了一个简单的 Excel 数据库 该数据库执行一些宏函数 并且我需要将此数据库分发给几个人 但他们无法看到宏函数实际上是如何
  • 如何创建动态变量名VBA

    我正在尝试根据单元格中的值在 VBA 中创建动态数量的变量 本质上我想要的结果是这样的Team1 Team2 to TeamX 任何帮助是极大的赞赏 Dim i x As Integer Set x Range J4 Value Dim T
  • VBA 代码基准测试

    对 VBA 代码进行基准测试最准确的方法是什么 在我的例子中 我正在 Excel 中测试代码 除了下面的 2 种之外 还有其他对代码进行基准测试的技术吗 如果有 该方法的优点 缺点是什么 这里有两种流行的方法 First Timer Sub
  • VBScript for Excel:如何选择源数据 (.SetSourceData)?

    我已经在谷歌和这里搜索了这个问题的答案 但没有成功 如果之前有人问过 那么我道歉 我正在尝试使用 VBScript 自动执行一些管理任务 此特定脚本的目的是从文本文件 包含文本和数字列 中获取一些使用情况统计信息 并根据数据制作折线图 创建
  • 从 .Net 将简单数据插入 Excel 文件的最简单方法

    我有一个 Excel 文件 大约有 10 列和 1 20 行 我需要插入 1 20 行包含各种数据元素 我想知道是否有一种方法可以将一些标签放入 Excel 文件中 以便可以找到并替换它们 将列标记为 名称 的东西 这样我就可以在代码中说
  • 是否有 R 函数可以将这些数据从长形重塑为宽形?

    数据现在看起来如何 Coach ID Student score 1 A 8 1 B 3 2 A 5 2 B 4 2 C 7 看起来像这样 Coach ID Student score student 2 score 2 student 3
  • 用一行代码隐藏所有自动筛选下拉列表

    我有一个相当大的 Excel 文件 其中包含大量数据 我使用验证列表 该列表通过 VBA 生成过滤器 因为我有 52 列 一年中的每周一列 所以我会自动在每个标题中看到一个小下拉箭头 我使用这段代码手动隐藏每列的下拉箭头 Worksheet
  • Excel VBA 检查工作簿是否打开,如果没有打开则打开

    我在下面放置的代码无法正常工作 尝试运行宏时出现错误 400 您能稍微回顾一下这段代码吗 我不确定问题是否不在于我所指的函数变量 Sub AutoFinal Dim final wb As Workbook shop stat wb As
  • Excel 对象库文件在哪里

    我正在寻找 Excel 对象库文件以将其导入 LabVIEW 我安装了 MS Office 2013 可以找到 MSACC olb MSOUTL olb MSPPT olb 和 MSWORD olb 但无法确定要导入哪个文件 olb 或 d
  • 将参数传递给使用“New”创建的访问表单

    我有一个名为 详细信息 的表单 它显示所选记录的详细视图 该记录是从称为 搜索 的不同形式中选择的 因为我希望能够打开 详细信息 的多个实例 每个实例显示不同记录的详细信息 所以我使用了以下代码 Public detailCollectio
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • 使用 access VBA 将列表框项目添加到数组

    我在访问表单中有一个列表框 它包含 18 项 我如何使用 access vba 将这些项目存储到数组中 下面将把列表框的内容拉入数组并吐出内容 Dim Size As Integer Size Me List0 ListCount 1 Re
  • 运行时错误“3065”无法执行选择查询

    我已经写了很多查询 但我正在努力解决这一问题 当我运行以下 sql 时 出现运行时错误 3065 Dim db As DAO Database Dim sqlstring As String Set db DBEngine 0 Databa
  • 在 Excel 中将多组列相互叠置

    所以我有多组 3 列 每组始终采用相同的列顺序 SKU 销售 日期 我想知道是否有 VBA 脚本或其他方法可以执行以下操作 1 Copy G I 2 Paste into A C 3 Copy J L 4 Paste into A C Un
  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 14 中的字节 0xb9:起始字节无效

    我正在使用 Django REST 进行文件上传测试 Python3 6 2Django1 11djangorest框架 3 6 4Excel OSX 15 38 170902 操作系统 10 12 6 过去使用普通照片文件可以成功完成此操
  • Excel 中分组经常性 CF 的净现值

    下面是 60 个期间的现金流量表 有一组经常性现金流量 Excel 中是否有一种简单的方法可以计算所有 60 个期间 每月现金流量 的 NPV 而无需创建 60 行的表格并使用 NPV 公式 因此 60 个订单项的公式如下所示 NPV PE
  • VBA 用户表单:防止组合框在 KEYDOWN 时转义

    社区 有一种方法可以防止活动组合框在列表末尾 或开头 按下向下箭头 或向上箭头 时失去焦点 如果有更好的方法来做到这一点 最好使用 MS 标准属性 请分享 问题 当位于组合框中列表的末尾时 如果您点击向下箭头 它会将您移至活动组合框下方的任
  • 使用 Microsoft Graph API 从 Sharepoint 站点提取 Excel.xlsx 工作簿

    正如标题中所述 我一直在尝试使用 Microsoft Graph API 从我们公司的 Sharepoint 站点提取 Excel 工作簿 我能够检索文件的元数据 但是当我添加 workbook 分段到 URL 我收到以下错误 error
  • 如何使用波斯日期(Shamsi)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想直接使用 Excel 2007 工作表中的波斯日期 Hijri Shamsi 作为计算基础 这怎么可能 我将通过以下方式将波斯日期转换

随机推荐